SQL查询没有结果
我使用php制作一个目录,目前所有的流派都出现在页面的顶部,但是当我点击它们时,它们不会返回任何结果,而且我也不能找出原因。SQL查询没有结果
这是我当前的代码:
<?php
session_start();
include "connect.php";
include "header.php";
if (isset($_GET['ID'])) {
$cat_id = $_GET['Genre'];
$q = "SELECT ID, Name, Genre FROM Products WHERE Genre="
.mysqli_real_escape_string($_SESSION['conn'],$cat_id).";";
$result = mysqli_query($_SESSION['conn'],$q);
echo "<div>";
while ($row = mysqli_fetch_row($result)){
echo "<p><a href='product.php?id=$row[ID]'>$row[Name]</a></p>";
}
echo "</div>";
mysqli_free_result($result);
}
include "footer.php";
?>
这是我第一次使用PHP,所以我的大概真的赤裸裸的问题对不起!
试试这个,你用过“;”这是不需要和流派是字符串
$q = "SELECT ID, Name, Genre FROM Products WHERE Genre='"
.mysqli_real_escape_string($_SESSION['conn'],$cat_id)."'";
仍然没有工作..不管我改变它什么都没有。 – 2012-02-29 11:47:58
好吧,尝试回声您的查询运行它到phpmyadmin,看看是什么 – pkachhia 2012-02-29 11:50:50
把它放到phpmyadmin中,它工作,只是返回了一个空的结果 – 2012-02-29 11:53:08
你应该检查你的查询是否与某种mysqli错误检查失败。
if (! $result = mysqli_query($_SESSION['conn'],$q))
{
printf("Error: %s\n", $mysqli->error);
}
,除非你永远不知道为什么结果不显示
试过,它没有失败!只是仍然空虚。 – 2012-02-29 11:50:49
重写while循环与这一个: -
while ($row = mysqli_fetch_row($result)){
echo "<p><a href='product.php?id=".$row['ID']."'>".$row['Name']."</a></p>";
仍然不起作用..我在想它的东西真的很愚蠢,就像我打电话给错误的领域或什么的.. – 2012-02-29 11:49:59
尝试呼应您查询,并在phpMyAdmin或任何其他数据库运行浏览器,就像HeidiSQL一样。看看你是否得到了一些结果 – Ovidiu 2012-02-29 11:44:34
是否有理由在查询中使用'escape''$ cat_id'?你必须检查cat_id是否为数字('$ cat-id = intval($ _ GET ['Id'])')。并在你的'echo'行中检查语法[ID]'不带引号:'echo“
$row['Name']
'; – teran 2012-02-29 11:51:54'$ cat_id'不是数字..它等于流派,我可以改变它来做什么接受一个单词而不是一个数字? – 2012-02-29 12:02:19