PHP变量将0发布到数据库

时间:2018-11-26 16:46:14

标签: php html forms pdo

所以我有这段代码,基本上用于更新记录。它填充一个表单,用户进行更改(或不单击更改),然后运行此代码。我设法使其全部正常工作,但是模型字段KEEPS用“ 0”替换了那里的所有内容。因此,如果用户单击更新时模型框包含“福特”,则模型字段将等于“ 0”,而我不知道原因。

if (isset($_POST['update'])) {
//Run the UPDATE code right here please!!!
$vID2 = $_POST['hiddenVehicleID'];
$model2 = $_POST['model'];
$varient2 = $_POST['varient'];
$stockno2 = $_POST['stockno'];
$vinNo2 = $_POST['vinNo'];
$trans2 = $_POST['transmission'];
$cc2 = $_POST['cc'];
$colour2 = $_POST['colour'];
$delivery2 = $_POST['delivery'];

if (empty($_POSt['stock'])) {
    $stock2 = "N/A";
}
$stock2 = $_POST['stock'];

$status2 = $_POST['status'];
$customer2 = $_POST['customer'];

if (empty($_POST['tax'])) {
    $tax2 = "N/A";
}
$tax2 = $_POST['tax'];

$financeS2 = $_POST['financeSettlement'];
$finance2 = $_POST['finance'];
$comments2 = $_POST['comments'];
$orderNo2 = $_POST['orderNo'];
$editedBy2 = $user_id;
$dateAdded2 = $_POST['hiddenUpdate'];
$lastUpdated2 = date("m/d/y");
$progress2 = $_POST['progress'];

$sth = $salesConn->prepare('
    UPDATE `vehicleOrderForm` SET 
        `model` = :veh_model,
        `varient` = :veh_varient, 
        `stockno` = :veh_stockno, 
        `vinNo` = :veh_vinNo, 
        `transmission` = :veh_trans, 
        `cc` = :veh_cc, 
        `colour` = :veh_colour, 
        `delivery` = :veh_delivery, 
        `stock` = :veh_stock, 
        `status` = :veh_status, 
        `customer` = :veh_customer, 
        `tax` = :veh_tax, 
        `financeSettlement` = :veh_settlement, 
        `finance` = :veh_finance, 
        `comments` =:veh_comments, 
        `orderNo` = :veh_orderNo, 
        `editedBy` = :veh_edited, 
        `dateAdded` = :veh_added, 
        `lastUpdated` = :veh_updated, 
        `progress` = :veh_progress 
    WHERE `vehicleOrderForm`.`id` = :vID; ');


$sth->bindValue(':vID', $vID, PDO::PARAM_INT);
$sth->bindValue(':veh_model', $model2, PDO::PARAM_INT);
$sth->bindValue(':veh_varient', $varient2, PDO::PARAM_STR);
$sth->bindValue(':veh_stockno', $stockno2, PDO::PARAM_STR);
$sth->bindValue(':veh_vinNo', $vinNo2, PDO::PARAM_STR);
$sth->bindValue(':veh_trans', $trans2, PDO::PARAM_STR);
$sth->bindValue(':veh_cc', $cc2, PDO::PARAM_STR);
$sth->bindValue(':veh_colour', $colour2, PDO::PARAM_STR);
$sth->bindValue(':veh_delivery', $delivery2, PDO::PARAM_STR);
$sth->bindValue(':veh_stock', $stock2, PDO::PARAM_STR);
$sth->bindValue(':veh_status', $status2, PDO::PARAM_STR);
$sth->bindValue(':veh_customer', $customer2, PDO::PARAM_STR);
$sth->bindValue(':veh_tax', $tax2, PDO::PARAM_STR);
$sth->bindValue(':veh_settlement', $financeS2, PDO::PARAM_STR);
$sth->bindValue(':veh_finance', $finance2, PDO::PARAM_STR);
$sth->bindValue(':veh_comments', $comments2, PDO::PARAM_STR);
$sth->bindValue(':veh_orderNo', $orderNo2, PDO::PARAM_STR);
$sth->bindValue(':veh_edited', $editedBy2, PDO::PARAM_STR);
$sth->bindValue(':veh_added', $dateAdded2, PDO::PARAM_STR);
$sth->bindValue(':veh_updated', $lastUpdated2, PDO::PARAM_STR);
$sth->bindValue(':veh_progress', $progress2, PDO::PARAM_STR);

$sth->execute();

它不会发布任何错误,其他一切都可以正常工作。我不知道为什么它不能正确发布,我在页面顶部打开了错误报告,并且它没有发布任何错误。它就像正常运行一样。

这是表单的模型部分的外观。我使用开关是因为我希望已经在下拉菜单上选择了该选项,以便用户知道汽车当前设置为哪种型号。

                    <?php 
                switch ($model) {
                    case '3':
                        ?>
                        <div class="c">
                            <label for="vehicleModel">Vehicle Model:</label>
                            <select name="model" id="vehicleModel">
                                <option value="N/A">Please Select</option>
                                <option selected value="3">3</option>
                                <option value="ZS">ZS</option>
                                <option value="GS">GS</option>
                            </select>
                        </div>
                        <?php

                        break;

                    case 'ZS':
                        ?>
                        <div class="c">
                            <label for="vehicleModel">Vehicle Model:</label>
                            <select name="model" id="vehicleModel">
                                <option value="N/A">Please Select</option>
                                <option value="3">3</option>
                                <option selected value="ZS">ZS</option>
                                <option value="GS">GS</option>
                            </select>
                        </div>
                        <?php

                        break;

                    case 'GS':
                        ?>
                        <div class="c">
                            <label for="vehicleModel">Vehicle Model:</label>
                            <select name="model" id="vehicleModel">
                                <option value="N/A">Please Select</option>
                                <option value="3">3</option>
                                <option value="ZS">ZS</option>
                                <option selected value="GS">GS</option>
                            </select>
                        </div>
                        <?php

                        break;

                    default:
                        ?>
                        <div class="c">
                            <label for="vehicleModel">Vehicle Model:</label>
                            <select name="model" id="vehicleModel">
                                <option selected value="N/A">Please Select</option>
                                <option value="3">3</option>
                                <option value="ZS">ZS</option>
                                <option value="GS">GS</option>
                            </select>
                        </div>
                        <?php
                        break;
                }
                ?>

1 个答案:

答案 0 :(得分:0)

您绑定的是整数而不是字符串。


a
ab
abc
abcd
abcde