如何在MySQLI中使用预备语句?

问题描述 投票:2回答:2
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query('PREPARE mid FROM "SELECT name FROM test_user WHERE id = ?"');
// working code start
//$res = $mysqli->query('PREPARE mid FROM "SELECT name FROM test_user"  ');
//$res = $mysqli->query( 'EXECUTE mid;') or die(mysqli_error($mysqli));
// working code end..
$res = $mysqli->query( 'EXECUTE mid 1;') or die(mysqli_error($mysqli));

while($resu = $res->fetch_object()) {
    echo '<br>' .$resu->name;
}

错误:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以找到在第1行的'1'附近使用的正确语法]

我的php版本是PHP Version 5.3.0和mysql

mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $ 

我在没有使用where clause的情况下得到了正确的结果

$ mysqli =新的mysqli(“ localhost”,“ root”,“”,“ test”); $ mysqli-> query('PREPARE mid FROM“来自test_user的选择名称WHERE id =?”'); //工作代码开始// $ res = $ mysqli-> query('PREPARE mid ...

php mysql sql mysqli prepared-statement
2个回答
2
投票

对SELECT查询使用prepare函数:


© www.soinside.com 2019 - 2024. All rights reserved.