Php 其中查询给出;为foreach()提供的参数无效; 试试看 { $db=newpdo('mysql:host=localhost;dbname=wba','root',''; } 捕获(PDO$e) { echo'Połączenie mogło zostaćutworzone:'。$e->getMessage(); } $db->exec(“设置名称utf8”); $stmt=$db->query(“从atrakcje中选择*,其中'akceptacja`!=1订单ID描述”); foreach($stmt作为$row) { 回声“; 回显“$row['tytul']”; 回显“Blok:”.$row['Blok']。”; echo“”$row['opis']。”“$row['imienazwisko']。”\”.“\”.$row['ksywka']。\””; 回声“; } $stmt->closeCursor();
我使用这样的代码。我得到 为foreach()提供的参数无效Php 其中查询给出;为foreach()提供的参数无效; 试试看 { $db=newpdo('mysql:host=localhost;dbname=wba','root',''; } 捕获(PDO$e) { echo'Połączenie mogło zostaćutworzone:'。$e->getMessage(); } $db->exec(“设置名称utf8”); $stmt=$db->query(“从atrakcje中选择*,其中'akceptacja`!=1订单ID描述”); foreach($stmt作为$row) { 回声“; 回显“$row['tytul']”; 回显“Blok:”.$row['Blok']。”; echo“”$row['opis']。”“$row['imienazwisko']。”\”.“\”.$row['ksywka']。\””; 回声“; } $stmt->closeCursor();,php,mysql,pdo,Php,Mysql,Pdo,我使用这样的代码。我得到 为foreach()提供的参数无效 第31行foreach($stmt作为$row)谢谢您的评论。我发现我的错误在数据库中拼写错误。$stmt将是结果对象,而不是数组。需要做一个WHILE循环。您的查询似乎失败了,$stmt是false,而不是PDOStatement对象。您应该通过添加/启用错误处理来检查失败的原因。我注意到了这一点,并更新了我的链接。@Twisty在同一页:PDO::query()的一个很好的功能是,它使您能够迭代成功执行SELECT语句返回的行集。
第31行foreach($stmt作为$row)谢谢您的评论。我发现我的错误在数据库中拼写错误。
$stmt
将是结果对象,而不是数组。需要做一个WHILE循环。您的查询似乎失败了,$stmt
是false
,而不是PDOStatement
对象。您应该通过添加/启用错误处理来检查失败的原因。我注意到了这一点,并更新了我的链接。@Twisty在同一页:PDO::query()的一个很好的功能是,它使您能够迭代成功执行SELECT语句返回的行集。
您还可以让PDO抛出异常。打开连接后放置此选项:$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常)代码>
try
{
$db = new PDO('mysql:host=localhost;dbname=wba', 'root', '');
}
catch(PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
}
$db->exec("set names utf8");
$stmt = $db->query("SELECT * FROM atrakcje WHERE `akceptacja` !=1 ORDER BY ID DESC");
foreach($stmt as $row)
{
echo "<div class='pure-u-1' style='background:#ecf0f1; border:0px; margin-bottom:20px;'>";
echo "<h2>".$row['tytul']."</h3>";
echo "<h3>Blok: ".$row['blok']."</h2>";
echo "<p style='padding:15px;'>".$row['opis']."<br><br><i style='float:right; padding-right:10px;'>".$row['imienazwisko']." \"".$row['ksywka']."\"</i></p>";
echo "</div>";
}
$stmt->closeCursor();