小编kpo*_*hin的帖子

MySQLi使用IN运算符编写语句

我必须使用INoperator 从数据库中选择一些行.我想用准备好的声明来做.这是我的代码:

<?php
$lastnames = array('braun', 'piorkowski', 'mason', 'nash');
$in_statement = '"' . implode('", "', $lastnames) . '"'; //"braun", "piorkowski", "mason", "nash"

$data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN (?)');
$data_res->bind_param('s', $in_statement);
$data_res->execute();
$result = $data_res->get_result();
while ($data = $result->fetch_array(MYSQLI_ASSOC)) {
    ...
}
?>
Run Code Online (Sandbox Code Playgroud)

但是,尽管数据库中存在所有数据,但不返回任

还有一个:如果我$in_statement直接传递查询并执行它,将返回数据.所以问题出现在准备上.

我在谷歌寻找这个问题,但并没有"成功".我的代码出了什么问题?
谢谢您的帮助!

php sql mysqli prepared-statement

5
推荐指数
1
解决办法
2567
查看次数

标签 统计

mysqli ×1

php ×1

prepared-statement ×1

sql ×1