未捕获的异常'PDOException'

时间:2016-03-16 06:50:47

标签: php sql pdo

目前我正在尝试将此作为更新运行,我收到错误消息:

  

带有消息'SQLSTATE [HY093]的未捕获异常'PDOException':   参数号无效:没有参数被绑定'

我不确定这个问题出在哪里。

HTML:

<input  type="text" name="sortId" value="<?php echo $name['sort_id']; ?>" >
<input  type="input" name="sortName" value="<?php echo $name['sort']; ?>" >

PHP:

$sortId = $_POST['sortId'];
$sortName = $_POST['sortName'];

$sql = "UPDATE `sorts` SET `sort` = :sortName WHERE `sort_id` = :sortId ";

$stmt = $db->prepare($sql);     
$stmt->execute();   

1 个答案:

答案 0 :(得分:1)

您没有使用值绑定令牌,它应如下所示:

$sortId = $_POST['sortId']; 
$sortName = $_POST['sortName'];

(请注意,您应该始终过滤/清理您的POST)

$sql = "UPDATE `sorts` SET `sort` = :sortName WHERE `sort_id` = :sortId";    
$stmt = $db->prepare($sql); 
$stmt->bindParam(':sortName', $sortName);
$stmt->bindParam(':sortId', $sortId);
$stmt->execute(); 

有关bindParam和bindValue的更多信息,请转到:

bindParam

bindValue