我想總結Mysql中使用PHP與mysqli和準備語句的一行。當我使用準備好的語句和綁定帕拉姆返回錯誤的結果(約200 ...):用mysqli和(?)返回0或錯誤的結果準備和bind_param
$stmt = $mysqli->prepare("SELECT SUM($user) FROM $datenbankid WHERE namepayer=?");
$value = "clemens";
if(!$stmt->bind_param("s", $value)){
$response["errormessage"] = $stmt->error;
}
$stmt->execute();
$stmt->bind_result($sum);
$stmt->fetch();
$response["debtsan" . $value] = $sum;
$stmt->close();
但是,當我使用它,而bind_param它返回適量:
$stmt = $mysqli->prepare("SELECT SUM($user) FROM $datenbankid WHERE namepayer = Clemens");
$stmt->execute();
$stmt->bind_result($sum);
$stmt->fetch();
$response["debtsantest" . $value] = $sum;
$stmt->close();
我得到沒有錯誤,沒有綁定參數它正在工作。但我想使用bind_param來避免sql注入。
感謝您的幫助。 德棉
你確定'$ value'不是空的和/或它的串 – 2014-09-26 10:35:42
我可以返回$值,它就像我定義它的字符串「clemens」。 – alltooconfusingthereforesleep 2014-09-26 10:40:16
在打開'<?php'標記後立即向文件頂部添加錯誤報告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否產生任何東西。 – 2014-09-26 10:50:36