Mysql Zend_Db insert查询中的预配对语句

Mysql Zend_Db insert查询中的预配对语句,mysql,prepared-statement,zend-db,Mysql,Prepared Statement,Zend Db,我目前使用Zend_Db管理我的查询 $stmt = $db->prepare("INSERT INTO test (ID_Test) VALUES (:ID)"); $stmt->bindParam(':ID', 4, PDO::PARAM_INT); $stmt->execute(); 但这似乎确实会抛出一个错误“致命错误:无法通过引用传递参数2” 我做错了什么?bindParam希望参数2是一个变量,因此它可以引用或“链接”变量,而不是复制它,这对更大的变量更好,但在您

我目前使用Zend_Db管理我的查询

$stmt = $db->prepare("INSERT INTO test (ID_Test) VALUES (:ID)");
$stmt->bindParam(':ID', 4, PDO::PARAM_INT);
$stmt->execute();
但这似乎确实会抛出一个错误“致命错误:无法通过引用传递参数2”


我做错了什么?

bindParam希望参数2是一个变量,因此它可以引用或“链接”变量,而不是复制它,这对更大的变量更好,但在您的情况下很烦人,请尝试:

$stmt = $db->prepare("INSERT INTO test (ID_Test) VALUES (:ID)");
$id = 4;
$stmt->bindParam(':ID', $id, PDO::PARAM_INT);
$stmt->execute();