任何人可以確認低於前兩個語句都不錯,最後一個是錯誤的:mysqli和bind_param - 可以使用哪些參數?
無效:
$sql="SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT 5";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", "C%");
無效:
$sql="SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT 5";
$stmt = $mysqli->prepare();
$stmt->bind_param("s", strtolower($_POST['code']));
無效(結合不僅僅是字面上的值更) :
$sql="SELECT Code, Name FROM Country ? LIMIT 5";
$stmt = $mysqli->prepare();
$stmt->bind_param("s", "WHERE Code LIKE C%");
有效期:
$sql="SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT 5";
$stmt = $mysqli->prepare();
$stmt->bind_param("s", $_POST['code']);
我在問,因爲我想正確理解Mysqli Prepared Statements基本。
我還不確定我可以將哪些參數放入bind_param()
。我可以把變量,但它的值(我的第一個例子),甚至執行一些PHP函數(我的第二個例子)作爲參數在bind_param()?
php.net說bool mysqli_stmt::bind_param (string $types , mixed &$var1 [, mixed &$... ])
但是,目前還不清楚我。
我最好同意你的看法,但我不是這個問題的老闆。這是使用mysqli的項目。 – Haradzieniec 2013-03-13 09:51:23
對不起,我還不清楚。我已經將第四個示例添加到了我的問題中。我是對的,1-3例是無效的,唯一的第四個例子是有效的? – Haradzieniec 2013-03-13 09:59:20