我想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();
Run Code Online (Sandbox Code Playgroud)
此查询返回此错误无法通过引用传递参数2 ...在第51行.它指向了这条线$stmt->bindParam(':uuid',"SELECT UUID()",PDO::PARAM_STR);
我在这里做错了什么?
air*_*r4x 24
第二个参数bindParam是通过引用传递的,应该是一个变量.您正在直接传递不允许的值.
将UUID()直接在查询,因为如果它被绑定为参数,将它放置在查询中引用字符串并不会被计算为一个UUID值.
您也可以1直接放在查询中.或者分配1给变量并在绑定参数时将该变量作为第二个参数:type_id.
$type_id = 1;
$stmt->bindParam(':type_id', $type_id, PDO::PARAM_INT);
Run Code Online (Sandbox Code Playgroud)