MySQL和PHP显示问题?
我无法获取以下代码来显示父id等于id的数据库中的项目 下面是代码MySQL和PHP显示问题?,php,mysql,Php,Mysql,我无法获取以下代码来显示父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) { //
// 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>';
}
//从数据库中查询成员数据并准备好显示
$mysqli=newmysqli(“本地主机”、“根”、“站点名”);
$dbc=mysqli_query($mysqli,“从id=parent_id的类别中选择*);
如果(!$dbc){
//有一个错误…在这里做点什么。。。
打印mysqli_错误();
}
while($row=mysqli\u fetch\u assoc($dbc)){
回音“”;
}
我想我知道我做错了什么我怎么能让这个查询检查以前的查询?我想这行应该重新考虑一下:
if ($row['parent_id'] == $row['id']) {
原因你确定这是正确的逻辑吗?我认为这一行应该重新思考:
if ($row['parent_id'] == $row['id']) {
原因您确定这是正确的逻辑吗?我将SQL查询放在一个变量中,以便您可以输出它,然后直接在数据库中尝试此操作,查看是否有匹配的行:
$mysqli = new mysqli("localhost", "root", "", "sitename");
$query = "SELECT * FROM categories WHERE id=parent_id";
echo $query;
我将SQL查询放在一个变量中,以便您可以输出它,然后直接在数据库中尝试此操作,查看是否有匹配的行:
$mysqli = new mysqli("localhost", "root", "", "sitename");
$query = "SELECT * FROM categories WHERE id=parent_id";
echo $query;
尝试执行以下操作:
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!";
}
if($row['parent\u id']==$row['id'])){
回音“”;
}
否则{
回声:“没有对手!”;
}
看看问题是否不是在SQL查询中,而是在你的应用程序逻辑中(我认为更可能)
也就是说,尝试使用调试SQL查询。只需将您想要的查询发布到那里并检查输出。如果输出正常,请查看您的逻辑,否则请查看您的查询
试着把你的问题分成更小的部分,这样你的调试就容易多了
希望能有所帮助。尝试做以下事情:
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!";
}
if($row['parent\u id']==$row['id'])){
回音“”;
}
否则{
回声:“没有对手!”;
}
看看问题是否不是在SQL查询中,而是在你的应用程序逻辑中(我认为更可能)
也就是说,尝试使用调试SQL查询。只需将您想要的查询发布到那里并检查输出。如果输出正常,请查看您的逻辑,否则请查看您的查询
试着把你的问题分成更小的部分,这样你的调试就容易多了
希望有帮助。您能为我们提供更多信息吗?就像exaclty不起作用一样。您还可以在while循环中ommit if语句,因为您只选择parent_id等于id的行。类别是否有一个名为“parent_id”的列?或者parent_id是提供给查询的参数吗?categories有一个parent_id字段。代码似乎很好,请尝试直接从mysql运行查询,以便确保有与where子句匹配的记录。我同意这似乎很奇怪。我成功了。谢谢大家的帮助。你能给我们提供更多的信息吗?就像exaclty不起作用一样。您还可以在while循环中ommit if语句,因为您只选择parent_id等于id的行。类别是否有一个名为“parent_id”的列?或者parent_id是提供给查询的参数吗?categories有一个parent_id字段。代码似乎很好,请尝试直接从mysql运行查询,以便确保有与where子句匹配的记录。我同意这似乎很奇怪。我成功了。谢谢大家的帮助。@adam。。这件事真让我抓狂。。我的意思是,我不太理解这里的双重检查,也不理解查询的逻辑。@adam。。这件事真让我抓狂。。我的意思是,我并不真正理解这里的双重检查,以及查询的逻辑。