php - mysqli 查询失败,没有错误

标签 php mysql mysqli

<分区>

我有一个名为“catalog”的数据库和一个名为“categories”的表。该表有 3 列,顺序为:categoryId、categoryName、parentCategory。我正在尝试为具有 parentCategory = 'root' 的每一行获取 categoryId 和 categoryName。我认为这是一个简单的查询,但我显然做错了什么,因为我不断收到消息——无法执行查询——但没有显示 mysql 错误。我已经在下面发布了我的代码。任何人都可以直接指出我吗?

附言我确实为 $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>

最佳答案

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);
}

关于php - mysqli 查询失败,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614272/

相关文章:

php - 在mysql中保存数据但不能

php - 只有第一个词填充提交按钮上的值字段

javascript - 为什么我不能从 jQuery/AJAX 调用这个 PHP 文件?

php - 通过 Google/Gmail 而不是从我的服务器发送电子邮件的优缺点

PHP session 启动打开文件而不是数据库连接

java - 我正在尝试读取 .properties 文件,其中包含以 utf-8 编码的中文字符

php - 如何使用不在同一目录中的 PDO 打开 sqlite3 数据库?

php - 付款成功后保存到数据库(paypal)

java - MySql 批量插入

php - MySQL查询多列排序