我无法弄清楚为什么我的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预订(
StartDate
,EndDate
,UserId
,ItemId
)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复制查询时,它有效并创建预订。我哪里错了?
答案 0 :(得分:0)
好的,所以事实证明我的SQL查询中只有一个错误,我错过了我的VALUES列表之后。不会撒谎,感觉很笨!感谢您提出的所有建议。