im 试图在 Mysqli OOP 中执行 UPDATE 查询。我知道谷歌中有很多教程,但没有任何适合我的:(如果有人可以使用一个简单的查询示例编写一个简单的代码,该示例将包括从创建连接对象开始的所有必要步骤,我将不胜感激。
这是我的代码,我试图回显一些东西来试图找到问题。输出正常,但线路除外"回声"测试2";该回显和下面的代码未执行。
<?php
if ((isset($_POST['title'])) && (isset($_POST['post'])))
{
$title= $_POST['title'];
$post= $_POST['post'];
$date = date("d-m-Y H:i");
//UPDATE post
echo $title, $post, $_SESSION['rec_id'];
$stmt = $connection->query("UPDATE blog_post SET title=? AND post=? WHERE id=?");
echo 'test1';
$stmt->bind_param("ssi", $title , $post, $_SESSION['rec_id']);
echo 'test2';
printf("Affected rows (UPDATE): %d'n", $connection->affected_rows);
}
?>
你的MYSQL是错误的。
UPDATE blog_post SET title=? AND post=? WHERE id=?
应该是
UPDATE blog_post SET title=?, post=? WHERE id=?
您应该始终使用某种错误检查,如下所示,
if(!$stmt = $connection->prepare("UPDATE blog_post SET title=?, post=? WHERE id=?")){
die($connection->error);
}
你也从来没有打电话给$stmt->execute();
.
此外,您不能将$stmt = $connection->query();
与预准备语句一起使用。使用 $stmt = $connection->prepare();
.