首页 > 解决方案 > 在枚举 PDO 中插入值

问题描述

我想在 db 表枚举属性 costtype enum('free', 'euro', 'tc') 中插入值。即使我选择另一个选项,我的代码也会从第一个“if”中插入值。我将给出 HTML 和 PHP 代码。我使用 PHP 和 PDO。先感谢您!!

HTML:

<div class="form-group">
   <label>Project Price <small>(You must also check a payment way from the list)</small></label>
          <select name="costtype[]" class="selectpicker" data-live-search="true" data-live-search-style="begins" title="Select a method">
                <option value="free">Free</option>
                <option value="euro">Euro </option>
                <option value="tc">Time Coins</option>                                                           
          </select>
</div>



$pdoQuery = "INSERT INTO project (pname, finishdate, description, username, cost, costtype) 
        VALUES (:projectname,:date_end,:description,:username,:costtype,:cost)";

PHP 和 PDO 代码:

$pdoResult = $pdo->prepare($pdoQuery);


foreach ($costtype as $ct ) {

if ($ct == $costfree)  {

    $pdoExec = $pdoResult->execute(array(

    ":projectname" => $projectname,
    ":date_end" => $date_end,
    ":description" => $description,
    ":username" => $username,
    ":costtype" => $costfree,
    ":cost" => $freecost


    ));

} elseif ($ct == $costeu) {

    $pdoExec = $pdoResult->execute(array(

    ":projectname" => $projectname,
    ":date_end" => $date_end,
    ":description" => $description,
    ":username" => $username,
    ":costtype" => $costeu,
    ":cost" => $cost


    ));
} else {

    $pdoExec = $pdoResult->execute(array(

    ":projectname" => $projectname,
    ":date_end" => $date_end,
    ":description" => $description,
    ":username" => $username,
    ":costtype" => $costtc,
    ":cost" => $cost


    ));


}

}

标签: phphtmlpdoprepared-statement

解决方案


推荐阅读