php - PDO 为 foreach() 提供的参数无效

标签 php mysql foreach pdo

如果你们能帮忙, 我正在尝试切换到新的 PDO 但遇到困难...

为什么这段代码有效:

include ('connect.php');

$sql = "SELECT * FROM GP_2012";
$conn = $DBH->query($sql);

foreach ($conn as $row)
    {
    print $row['Prenom'] . ' ' . $row['Nom'] . '<br>' . 
    'Type: ' . $row['Type'] . '<br>' . 
    'Telephone: ' . $row['Tel'] . '<br>' .
    'Mail: ' . $row['Mail'] . '<br>' .
    'Bateau: ' . $row['Bateau'] . '<br>' .
    '<br><br>';
    }

.

不是这个:

include ('connect.php');

$sql = "SELECT * FROM GP_2012 WHERE Nom LIKE Pageot";
$conn = $DBH->query($sql);

foreach ($conn as $row)
    {
    print $row['Prenom'] . ' ' . $row['Nom'] . '<br>' . 
    'Type: ' . $row['Type'] . '<br>' . 
    'Telephone: ' . $row['Tel'] . '<br>' .
    'Mail: ' . $row['Mail'] . '<br>' .
    'Bateau: ' . $row['Bateau'] . '<br>' .
    '<br><br>';
    }

我在 PHPMYADMIN 中尝试过,这些查询都有效,第二个应该显示一个结果,但我什么也没得到,在我的错误日志中我得到: 为 foreach() 提供的参数无效

最佳答案

你的sql是错误的。

$sql = "SELECT * FROM GP_2012 WHERE Nom LIKE '%Pageot%'";

可以设置异常模式,出错时抛出异常。

或者你需要检查结果,如果返回false,检查错误信息。

关于php - PDO 为 foreach() 提供的参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12988109/

相关文章:

php - 如何访问从 codeigniter 中的查询传递的数据

MySQL触发整型变量

javascript - 使用javascript编辑带有嵌入式PHP的html

r - Scala 相当于 R 的 Mapply?

php - 通过比较单元格 Y 和单元格 Z 中的信息来获取单元格 X 中的 mysql 值?

javascript - 使用基于ajax的客户端上传PHP文件不起作用

PHP如何在php中实现队列处理

php - 如何从另一个表更新mysql pdo中的字段

ForEach 和 GeometryReader : variable height for children?

php - foreach 与一个项目数组