PHP MySQL INSERT查询不插入表

时间:2015-03-27 12:53:18

标签: php mysql sql-insert

我无法弄清楚为什么我的INSERT查询失败了。我已经在phpMyAdmin中仔细检查了查询并且它工作正常,但是当它放入PHP时它失败了。

PHP:

if (isset($_POST['create'])){

    //Insert booking to the database
    $InsertQuery = DB::getInstance()->query("INSERT INTO booking (`StartDate`, `EndDate`, `UserId`, `ItemId`) VALUES (
        '{$_POST['startdate']}', '{$_POST['enddate']}', {$_POST[currentuser]}, {$_POST[itemid]}");
    print_r($InsertQuery);
}

HTML:

<form action="MakeABooking1.php" method="post">
                    <tr>
                    <td><input type="text" name="itemid" value=" <?php echo $ItemId ?> "> </td>
                    <td><input type="text" name="currentuser" value=" <?php echo $currentUser ?> "> </td>
                    <td><input type="text" name="startdate" value=" <?php echo $bookFrom ?> "> </td>
                    <td><input type="text" name="enddate" value=" <?php echo $bookTo ?> "> </td>
                    <td><input type="submit" name="create" value="Book"></td>
                    </tr>
                    </form>

执行print_r($InsertQuery);会显示以下内容:

  

DB Object([_ pdo:DB:private] =&gt; PDO Object()[_ query:DB:private]   =&GT; PDOStatement对象([queryString] =&gt; INSERT INTO预订(StartDateEndDateUserIdItemId)VALUES('2015-03-26',   '2015-03-31',48,8)[_ error:DB:private] =&gt; 1   [_results:DB:private] =&gt; Array()[_ count:DB:private] =&gt; 0)

从print_r复制查询时,它有效并创建预订。我哪里错了?

1 个答案:

答案 0 :(得分:0)

好的,所以事实证明我的SQL查询中只有一个错误,我错过了我的VALUES列表之后。不会撒谎,感觉很笨!感谢您提出的所有建议。