MySQL和PHP显示问题?

时间:2009-10-26 17:50:11

标签: php mysql

我无法获得以下代码来显示parent_id等于id的数据库中的项目。

以下是代码。

// Query member data from the database and ready it for display
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT * FROM categories WHERE id=parent_id");

if (!$dbc) {
// There was an error...do something about it here...
print mysqli_error();
}

while ($row = mysqli_fetch_assoc($dbc)) {
echo '<li><a href="' , $row['url'] , '" title="' , $row['description'] , '">' , $row['category_name'] , '</a>';
   }

我想我知道我做错了怎么能让这个查询检查以前的查询?

3 个答案:

答案 0 :(得分:1)

我将SQL查询放在var中,以便您可以输出它,然后在数据库中直接尝试查看是否有任何匹配的行:

$mysqli = new mysqli("localhost", "root", "", "sitename");
$query = "SELECT * FROM categories WHERE id=parent_id";
echo $query;

答案 1 :(得分:0)

我认为这条线应该重新思考:

if ($row['parent_id'] == $row['id']) {

原因你确定它是正确的逻辑吗?

答案 2 :(得分:0)

尝试做类似的事情:

if ($row['parent_id'] == $row['id']) {
    echo '<li><a href="' , $row['url'] , '" title="' , $row['description'] , '">' , $row['category_name'] , '</a>';
}
else {
    echo "there is no match!";
}

看看问题实际上是不是在SQL查询中,而是在你的app逻辑中(我认为更有可能)。

那就是尝试使用phpMyAdmin调试SQL查询。只需发布您想要的查询并检查输出。如果输出正常,请查看您的逻辑,如果没有查看您的查询。

尝试将问题分成更小的块,使调试更容易。

希望它有所帮助。