0
我有以下代碼:stmt->預處理語句affected_rows返回0,但查詢工作
try {
$dbc = new PDO('mysql:dbname=database;host=127.0.0.1;charset=utf8', 'root', 'password');
$dbc->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbc->prepare("DELETE FROM GRUP WHERE `id_hash_group` = '9d7b04e242a2ce8b5eecce2159200853'");
$stmt->execute();
printf("deleted rows: %d\n", $stmt->affected_rows);
}
catch(PDOException $e){
echo json_encode(array('codi'=>311, "msg"=>$e->errorInfo[2]));
die();
}
查詢工作正常,但事實證明,該代碼$stmt->affected_rows
總是返回0。我曾嘗試把$stmt->store_result()
在它之前,但我得到的是500服務器錯誤。我也嘗試使用另一個用戶(我讀過的地方是root用戶可能會導致麻煩)以及代碼的很多變體,比如刪除try/catch塊。
還有一些帖子提出了類似的問題,但他們都沒有幫助我。有人知道在代碼中是否有任何錯誤,或者它是否是Mysqli錯誤?
感謝
'affected_rows()'和'store_result()''是和mysqli_'不PDO功能。 –