我希望有人能指出我在这个更新中出错的地方,我尝试了各种方法,但似乎无法让它工作,可能是一个简单的错误,但我似乎找不到它。
function set_live($row_id, $mobile_number)
{
global $conn;
$live = 1;
$sql = "
UPDATE
connections
SET
live = :live,
voice_number = :mobile_number
WHERE
id = :row_id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_INT);
$stmt->bindParam(':row_id', $row_id, PDO::PARAM_INT);
$stmt->bindParam(':live', $live, PDO::PARAM_INT);
$stmt->execute();
echo "Record edited successfully";
$conn=null;
}
$conn
是与 SELECT 等一起使用的 PDO 连接
所有变量都是数字并且所有 echo OK 所以都在函数中
我可以使用 phpmyadmin 中的实际值运行查询,它工作正常
最佳答案
只需替换这一行
$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_INT);
有了这个
$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_STR);
因为电话号码长度大于整数。
关于php pdo 使用变量更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37269899/