【发布时间】:2015-03-27 12:53:17
【问题描述】:
我不知道为什么我的 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 对象 ( [_pdo:DB:private] => PDO 对象 () [_query:DB:private] => PDOStatement 对象([queryString] => 插入预订(
StartDate,EndDate,UserId,ItemId)值('2015-03-26', ' 2015-03-31 ', 48 , 8 ) [_error:DB:private] => 1 [_results:DB:private] => 数组 () [_count:DB:private] => 0)
当从 print_r 复制查询时,它是有效的并创建一个预订。我哪里错了?
【问题讨论】:
-
它处于准备模式。现在你必须尝试在 if 之后执行。
-
错误检查?错误日志中有什么内容?
-
不执行查询。 Mornin' Sam - @JayBlanchard
-
@JayBlanchard What am I not grasping?...
-
嗯... OP 没有进一步的消息,Sam 继续前进 @JayBlanchard
标签: php mysql sql-insert