有数据时 PHP MySQL 得到零结果

标签 php mysql

这个问题在这里已经有了答案:





A prepared statement, `WHERE .. IN(..)` query and sorting — with MySQL

(8 个回答)



Can I bind an array to an IN() condition?

(22 个回答)


5年前关闭。




我有一组数字,我试图从 mysql 数据库中的表中获取不同的创建者。如果我直接输入字符串,我会得到数据,但如果我使用这种方法来内爆数组和 bind_param,我会得到零行。

$array = array('1','2','3','4','5','6','7');
$in_array = "'".implode("','", $array)."'";

$statement = $conn->prepare("select distinct creator from table where coll in ( ? );");
        $statement->bind_param('s', $in_array);
        $statement->execute();
        $result = $statement->get_result();
        if ($result->num_rows > 0) { //do something }
        else { echo "none found"; }

最佳答案

您需要为列表中的每一项设置一个占位符,而不是为整个列表使用一个占位符。

关于有数据时 PHP MySQL 得到零结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960676/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - Sonata Admin Bundle 自定义查询列表以使用现有存储库

php - 在传递 PHP 变量时调用 javascript 函数

mysql - Jackson @JsonIgnore Annotation - 关系值不会被返回

javascript - 为什么我的 php 连接到 mysql 服务器不起作用?

php - 使用数组函数删除两个数组中不存在的键后比较 2 个数组

javascript - 当循环 div 时,jQuery 仅适用于第一个 div。我还在学习 PHP,我不知道哪里出了问题

mysql - 在 phpmyadmin 中单击表时发生错误

java - 使用java更改系统时间时如何更新保存在数据库中的日期

php - 如何使用 php 和 html 将 csv 表导入 mysql 数据库