在PHP上不显示数据,但在工作台上SQL是正确的
如果我在workbench上运行sql查询,我可以看到数据。 但是在PHP上什么都没有。 我发现这部分不行 回声。$title1。; 回声。$content1。; 回声。$answer1。; 有人知道怎么解决吗在PHP上不显示数据,但在工作台上SQL是正确的,php,mysql,Php,Mysql,如果我在workbench上运行sql查询,我可以看到数据。 但是在PHP上什么都没有。 我发现这部分不行 回声。$title1。; 回声。$content1。; 回声。$answer1。; 有人知道怎么解决吗 $qtitle =$_GET['id']; $sql ="select Q1.title, Q1.content, Q1.answer from questionset_question as Q2";
$qtitle =$_GET['id'];
$sql ="select Q1.title, Q1.content, Q1.answer from questionset_question as Q2";
$sql .=" inner join question as Q1 on Q1.question_id=Q2.question_id inner join questionset as Q3";
$sql .=" on Q3.questionset_id=Q2.questionset_id where Q3.title='$qtitle'";
if ($result = $db->query($sql)) {
while ($row = $result->fetch_assoc()) {
$title1=$row['Q1.title'];
$content1=$row['Q1.content'];
$answer1=$row['Q1.answer'];
echo '<ul><li>'.$title1.'</li>';
echo '<li>'.$content1.'</li>';
echo '<li>'.$answer1.'</li></ul>';
}
$result->free();
}
else {
echo "no result";
}
你能这样试试吗
while ($row = $result->fetch_assoc()) {
$title1=$row['title'];
$content1=$row['content'];
$answer1=$row['answer']
删除Q1表名。因为pdo中的结果返回时没有表名。MySQL工作台可以用表名列出列名 在PHP或其他web应用程序中,最好先查看变量的内容,然后再继续显示数据 在这里,我将使用print_r函数查看$result中包含的内容
if ($result = $db->query($sql)) {
//check the value in $result.. used only for debugging
print_r($result);
exit('debugging');
while ($row = $result->fetch_assoc()) {
$title1 = $row['Q1.title'];
$content1 = $row['Q1.content'];
$answer1 = $row['Q1.answer'];
...
}
你做了什么调试?您在URL中为id参数使用的查询参数值是什么?您的PHP脚本与MySQL工作台查看的数据库是否相同?您是否看不到任何结果或其他内容,或者根本看不到任何内容?请学习使用参数化查询。你的程序易受SQL注入攻击。我添加了echo“test”;在while循环的最后,我可以看到“test”两次,因为MySQL中有两行数据。由于您的PHP配置,您错过了有价值的错误消息。看到漂亮的斑点。仅供参考,OP使用的是MySQLi,而不是PDO。尽管Stick bit表示正确,但问题/答案是相同的。请对您的securit使用参数化查询。