错误:第1列的数据被截断

时间:2014-02-28 15:51:25

标签: php html mysql forms function

到目前为止,我发现这个错误的所有结果都是参考了一些额外的代码(phpmyadmin或python),所以我有点困惑。昨天我的表格有问题,但似乎已经解决了。所以,现在我似乎遇到了我创建的下拉列表的问题。它们在实际显示MySQL查询列表方面运行良好,但它们似乎没有选择正确的值。

以下是表格:

<form action="/php/newcarcodetest.php" method="post">
   <table style="width:575px">
      <tr>
         <th>Make</th>
         <td><select name="make" style="width:344px"><?php make() ?></select></td>
         <td></td>
      </tr>
      <tr>
         <th>Model</th>
         <td><select name="model" style="width:344px"><?php model() ?></select></td>
         <td></td>
      </tr>
   </table>
   <br>
   <input type="submit" value="Submit">
</form>

这是功能:

function make() {
    $qmake=mysql_query("SELECT VMakeID, VMake FROM vmake");
    while($record=mysql_fetch_array($qmake)) {
        echo '<option value="'.$record['VMakeID'].'">'.$record['VMake'].'</option>';
    }
}

function model() {
    $qmodel=mysql_query("SELECT VModelID, VModel FROM vmodel");
    while($record=mysql_fetch_array($qmodel)) {
        echo '<option value="'.$record['VModelID'].'">'.$record['VModel'].'</option>';
    }
}

然后这是形式的php:

<?php
$con=mysqli_connect("server","mycaradmin","SuperSecretPassword","mycars");
if(mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: ".mysqli_connect_error();
}
$make=$_POST["make"];
$model=$_POST["model"];
$sql="INSERT INTO mycars.vehicles (VMakeID,VModelID)
      VALUES ('$make','$model;')";
if(!mysqli_query($con,$sql)) {
    die('Error: '.mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>

就像我说的,下拉列表的功能正常。而且我知道我需要努力减少SQL注入的可能性,但我只是想让它在这一点上起作用。当我单击提交按钮时,它会转到一个空白页面,其中包含错误:

错误:第1行的列'VModelID'的数据被截断

提前致谢!!

0 个答案:

没有答案