我在PDO中遇到一个奇怪的错误: {“error”:{“text”:SQLSTATE [HY093]:参数号无效:绑定变量数与令牌数不匹配}}
我试过这个sql查询而我没有找到,如果有人可以帮助我; 我的代码:
$sql = "UPDATE feeds SET status=:statuschosen WHERE idUser=:id AND id:idfeed";
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->bindParam("statuschosen", $post->statuschosen);
$stmt->bindParam("idfeed", $post->idfeed);
$stmt->bindParam("id", $id);
$stmt->execute();
$db = null;
echo json_encode($post);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
我的桌子有这样的结构:
id URL idUser status
感谢您的帮助!!!
答案 0 :(得分:3)
您的$sql
字符串中缺少等号。此外,在绑定params时,您使用了错误的占位符,请参阅下文:
$sql = "UPDATE feeds SET status=:statuschosen WHERE idUser=:id AND id=:idfeed";
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->bindParam(":statuschosen", $post->statuschosen);
$stmt->bindParam(":idfeed", $post->idfeed);
$stmt->bindParam(":id", $id);
$stmt->execute();
$db = null;
echo json_encode($post);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}