簡體   English   中英

mysqli_query和mysqli_fetch_assoc給出錯誤

[英]mysqli_query and mysqli_fetch_assoc giving errors

我一直在嘗試找到我訪問index.php文件時發現的mysql錯誤消息的解決方法,代碼如下:

Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in /Applications/XAMPP/xamppfiles/htdocs/cms/includes/navigation.php on line 24
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /Applications/XAMPP/xamppfiles/htdocs/cms/includes/navigation.php on line 26

對於我的生活,我無法弄清楚我在這里做錯了什么,因為它在我使用靜態鏈接時起作用,但在測試動態鏈接時,它只是一個問題。

下面是我用於navigation.php文件的代碼,該文件用盡了包含文件夾:

   <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">

        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">Start Bootstrap</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">

            <?php

                $query = "SELECT * FROM categories";
                $please_work = mysqli_query($connection, $query);

                while($row = mysqli_fetch_assoc($please_work)){
                    $cat_title = $row['cat_title'];

                    echo "<li><a href='#'>{$cat_title}</a></li>";

                }

                ?>      

            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

當然我的db.php文件也位於我的包含文件夾中:

<?php

$db['db_host'] = "localhost";
$db['db_user'] = "root";
$db['db_pass'] = "";
$db['db_name'] = "cms";

foreach($db as $key => $value){   
define(strtoupper($key), $value);
}

$connection = mysql_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

if($connection){

    echo "We are connected";   
}

?>

我不太需要發布我的index.php,因為我知道錯誤不是來自那里,因為靜態內容在使用時工作,這意味着include函數正在工作。

有人可以讓我免於長期頭痛嗎?

謝謝,

CB

你正在混合mysql_*mysqli_*函數。 你應該總是使用mysqli_*

所以,你需要改變這個:

$connection = mysql_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

對此:

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM