我在php中有以下代码:
$id=1;
$query = 'select id from role_perm where perm_id = :id';
if($statement =$GLOBALS["DB"]->prepare($query)){
$result =& $statement->execute(array(':id' => $id));
$t = $result->fetch_all();
但是当我尝试运行此代码时出现错误:
1064您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近':id'在第1行
我在互联网上查看了很多问题和信息,试图用不同的方式表达我的陈述,但我总是最终得到这样的错误,我试过了吗?对于参数也是。如何让它识别参数? 我的数据库配置:
$databaseConnection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($databaseConnection->connect_error)
{
die("Database selection failed: " . $databaseConnection->connect_error);
}
// Create tables if needed.
prep_DB_content();
$GLOBALS['DB'] = $databaseConnection ;
答案 0 :(得分:2)
$query = 'select id from role_perm where perm_id = ?';
if($statement = $GLOBALS["DB"]->prepare($query)){
$statement->bind_param("i", $id);
$statement->execute();
$statement->store_result();
$statement->bind_result($id_result);
while ($statement->fetch()) {
// code here
}
$statement->close();
}