mysqli_fetch_assoc() 内部循环仅从 WHERE IN 查询中获取第一行结果

干净的

我正在使用SELECT * FROM products WHERE id IN ('$arrayImplodedToStr')SQL 查询同时从数据库中获取多个值。查询工作正常,因为当我回显时,$q我可以看到所有数组项都转换为查询中的 id 号,并且有很多。但是当我进行查询并将其存储在数组中,然后使用mysqli_fetch_assoc()内部while循环从查询中获取所有行时,我总是只得到一个和第一个项目。而且想不通为什么?

编码:

session_start();
require_once('navigation.php');
require_once('database_connection.php');

if(empty($_SESSION['cart'])) {
    $_SESSION['cart'] = array();
}

array_push($_SESSION['cart'], $_GET['product_id']);
$arrayImplodedToStr = implode(',', $_SESSION['cart']);

$q = "SELECT * FROM products WHERE id IN ('$arrayImplodedToStr')";

$result = mysqli_query($dbc, $q);
mysqli_query($dbc, $q);
$allRows = [];

while($row = mysqli_fetch_assoc($result)) {
    $allRows[] = $row;
}

foreach ($allRows as $cartItems) {
    echo $cartItems['name'];
}
阿穆内斯

您不希望数组字符串周围有引号。这将使它成为一个项目,并且 - 在数字的情况下 - 将其截断为找到的第一个。

如果保证单个项目是数字,请删除引号。如果可能的文本字符串在那里,你需要引用各个项目的字符串,如'a', 'b', 'c'代替'a, b, c'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

显示一些HTML如果mysqli_fetch_assoc是空的,而PHP的循环

mysqli_fetch_assoc仅返回一个结果,即使还有更多结果

mysqli_fetch_assoc($ result)不显示所有结果

mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

mysqli_fetch_assoc在第一行消失

mysqli_fetch_row不返回结果,但是mysqli_fetch_assoc会返回结果

mysqli_fetch_assoc仅返回数组的第一个元素

mysqli_fetch_assoc函数如何工作?

while循环如何与mysqli_fetch_assoc()一起使用?

使用mysqli_fetch_assoc()函数的用户身份验证

如何修复PHP要求结果而不是mysqli_fetch_assoc的布尔值?

为什么要遍历mysqli_fetch_assoc中的每个ID?

mysqli_fetch_assoc返回零结果,如果为0

mysqli_fetch_assoc是否按顺序返回数据?

从嵌套在运行mysqli_fetch_assoc()函数的函数中的函数访问变量值

PHP:我的代码中的错误,主要是mysqli_fetch_assoc()期望参数mysqli_result,给定的对象

在php中如何在mysqli_fetch_assoc中获取json对象

mysqli_fetch_assoc()不返回任何东西

将结果从mysqli_stmt_fetch转换为关联数组,该数组可以由mysqli_fetch_assoc循环导出

mysqli_fetch_assoc while循环不起作用

mysqli_fetch_assoc 的 While 函数是无限的

为什么我的 mysqli_fetch_assoc 没有获取行信息以便我可以将详细信息插入我的表?

PHP 访问 mysqli_fetch_assoc 值

错误“警告:mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,布尔值在 C:\xampp\htdocs\biservis\profil.php 第 199 行中给出”

php SELECT查询在面向mysqli对象的fetch_assoc的while循环中给出错误

如何将 2 个 mysqli_fetch_assoc 放在 php 中的单个 while 循环中?

mysqli_fetch_assoc 只返回一次迭代的结果

mysqli_fetch_assoc 函数中的数据分组

当 mysqli_fetch_assoc 表达式仅替换为变量时,PHP 给出无限循环