我有一个名为'catalog'的数据库和一个名为'categories'的表.该表按此顺序有3列:categoryId,categoryName,parentCategory.我正在尝试为具有parentCategory ='root'的每一行抓取categoryId和categoryName.我认为这是一个简单的查询,但我显然做错了,因为我一直收到消息 - 无法执行查询 - 但没有显示mysql错误.我在下面发布了我的代码.任何人都能直接指出我吗?
PS我的值已分配给$ db变量; 我只是没有把这些包括在内.
<?php
$connect = mysqli_connect($db_host,$db_user,$db_password,$db_database)
or die ("Couldn't connect to server: ".mysqli_error());
function display_children($parent) {
$query = "SELECT categoryId, categoryName FROM `categories` WHERE parentCategory=".$parent;
$result = mysqli_query($connect,$query)
or die ("Couldn't execute query: ".mysqli_error());
echo "<ul>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<li>".$row['categoryName']."</li>";
display_children($row['categoryId']);
}
echo "</ul>";
mysqli_close($connect);
}
?>
<div class="menu">
<?php
/* Menu Write */
display_children("root");
?>
</div>
Run Code Online (Sandbox Code Playgroud)
display_children()函数无权访问$ connect变量.
试试这个:
function display_children($parent) {
global $connect;
$query = "SELECT categoryId, categoryName FROM `categories` WHERE parentCategory=".$parent;
$result = mysqli_query($connect,$query)
or die ("Couldn't execute query: ".mysqli_error());
echo "<ul>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<li>".$row['categoryName']."</li>";
display_children($row['categoryId']);
}
echo "</ul>";
mysqli_close($connect);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12453 次 |
| 最近记录: |