[英]php pdo update query with variables
我希望有人能指出我在此更新中出錯的地方,我嘗試了各種方法,但似乎無法使其正常工作,這可能是一個簡單的錯誤,但我似乎找不到它。
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連接,所有變量都是數字,並且都可以正常執行,因此在函數中,我可以使用phpmyadmin中的實際值運行查詢,並且可以正常運行
只需替換此行
$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_INT);
有了這個
$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_STR);
因為電話號碼的長度大於整數。
為什么不嘗試使用數組? 這種方法很可能為您完成了技巧:
<?php
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);
$params = array(
"live" =>$live,
"mobile_number" =>$mobile_number,
"row_id" =>$row_id,
);
$stmt->execute($params);
echo "Record edited successfully";
$conn=null;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.