php – 无法通过引用传递参数2 – uuid PDO

前端之家收集整理的这篇文章主要介绍了php – 无法通过引用传递参数2 – uuid PDO前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将UUID()与我的INSERT查询一起插入.
$handle->beginTransaction();
// Define query
$query = "INSERT INTO users (users_uuid,type_id) VALUES (:uuid,:type_id)";
// Prepare statement
$stmt = $handle->prepare($query);
// Bind parameters
$stmt->bindParam(':uuid',"SELECT UUID()",PDO::PARAM_STR);
$stmt->bindParam(':type_id',1,PDO::PARAM_INT);
// Execute query
$stmt->execute();
$handle->commit();

查询返回此错误无法通过引用传递参数2 …在第51行.它指向行$stmt-> bindParam(‘:uuid’,“SELECT UUID()”,PDO :: PARAM_STR);

我在这里做错了什么?

bindParam的第二个参数是通过引用传递的,应该是一个变量.您正在直接传递不允许的值.

将UUID()直接放在查询中,因为如果它被绑定为参数,它将作为带引号的字符串放在查询中,并且不会被计算为UUID值.

您也可以将1直接放在查询中.或者为变量赋值1,并在绑定参数时将该变量作为第二个参数:type_id.

$type_id = 1;
$stmt->bindParam(':type_id',$type_id,PDO::PARAM_INT);

猜你在找的PHP相关文章