php - 我不明白“php pdo 错误处理程序”的错误
问题描述
我正在尝试更新我的帖子。我认为我的代码没有错误。我几乎尝试了一切。但它仍然显示此错误。
未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在 C:\xampp\htdocs\x\edit.php:4 的第 1 行的 '' 附近使用正确的语法:4 堆栈跟踪:#0 C:\xampp\htdocs\x \edit.php(4): PDO->query('SELECT * FROM p...') #1 {main} 在第 4 行的 C:\xampp\htdocs\x\edit.php 中抛出
我做错了什么有什么意义?
$id = $_GET["id"];
$sql = $database->query("SELECT * FROM post WHERE id=$id");
$sql->setFetchMode(PDO::FETCH_ASSOC);
foreach ($sql as $x) {
$post_id = $x["id"];
$post_title = $x["post_title"];
$post_text = $x["post_text"];
}
if (isset($_POST["update_post"])) {
$new_post_title = $_POST["itemName"]."[UPDATED]";
$new_post_text = $_POST["itemInfo"];
try {
$u_post = $database->prepare("UPDATE post SET post_title=:p_title,post_text=:p_text WHERE id=$id");
$u_post->execute(array(":p_title"=>$new_post_title,":p_text"=>$new_post_text));
if ($u_post) {
header("location:showpost.php");
}else {
echo "Failed";
}
} catch (Exception $e) {
print $e->getMessage();
}
}
解决方案
推荐阅读
- splunk - 在 Splunk 中设置表字段的差异
- azure - Azure pod 应用程序连接到安装在 Azure VM 中的 MSSQL 服务器
- dataframe - 朱莉娅。将一列汇总为具有多列的新 DataFrame
- html - 除非在 Angular 8 中进行编辑,否则自动计算的值不会显示为有效数字
- php - Wordpress:更改所有名为“角色”的用户的参数名称
- c# - 我可以为无服务的 Azure CosmosDB(Azure 表)动态创建表吗?
- powershell - 忽略要在 azure 管道中显示的特定错误
- arrays - 为什么数组数据不是每次都在 Swift 中附加 JSON 响应
- java - 出现意外错误(类型=不允许的方法,状态=405)。不支持请求方法“POST”
- pine-script - 连接 Pine 脚本编写器