SQL Select在phpAdmin和phtml中产生的结果略有不同
我总是错过第一行结果,这在只有一行结果时更为明显 我的PDO命令有问题。有没有关于如何改正的建议?如果我删除$pod->prepare nothing(准备就绪),则一切都不起作用。不知道该怎么办SQL Select在phpAdmin和phtml中产生的结果略有不同,php,mysql,select,Php,Mysql,Select,我总是错过第一行结果,这在只有一行结果时更为明显 我的PDO命令有问题。有没有关于如何改正的建议?如果我删除$pod->prepare nothing(准备就绪),则一切都不起作用。不知道该怎么办 <?php $sql = "SELECT * FROM Order_Items JOIN Parts ON Parts.id = Order_Items.part_id WHERE Order_Items.orders_id = $id
<?php
$sql = "SELECT * FROM Order_Items
JOIN Parts ON Parts.id = Order_Items.part_id
WHERE Order_Items.orders_id = $id
AND qty <> 0
ORDER BY Parts.id";
$q = $pdo->prepare($sql);
$q->execute(array());
$row = $q->fetch(PDO::FETCH_ASSOC); // Roy says this is not needed
while ($row = $q->fetch(PDO::FETCH_ASSOC))
{
echo '<tr>';
echo '<td>' . $row['part_num'] . '</td>';
echo '<td>' . $row['part_desc'] . '</td>';
echo '<td>' . $row['qty'] . '</td>';
}
Database::disconnect();
?>
您没有收到SQL错误。这与行\u item\u id数据库列的值无关
您将得到一个PHP错误。变量
$line\u item\u id
未定义 您正在复制$row=$q->fetch(PDO::fetch_ASSOC)
当您将
$q设置为$row
时,$q->fetch
被清除(没有数据),因此在IF语句中,
中没有行可提取$q。
您必须删除$row=$q->fetch(PDO::fetch_ASSOC)
并在IF中使用它。
还可以尝试对
$q
执行fetchAll()$result = $query -> fetchAll();
foreach( $result as $row ) {
/*CODE*/
}
你能给我们看一下你的php代码吗?因为你在查询中没有绑定任何参数,我不知道你为什么要把变量放在第一位(或者在第一位使用
prepare
),谢谢,谢谢!3月29日,我在你的另一个问题中向你指出了同样的事情。这是我在这里对我的回答的评论:阅读完整的评论是值得的,会让你省去一天的挠头;)