PHP mysqli_query 需要至少 2 个参数

PHP mysqli_query expects at least 2 parameters

所以我的问题是这段代码给了我 警告:mysqli_query() 需要至少 2 个参数,其中 1 个在第 13 行的 C:\wamp\www\forum\create_cat.php 中给出 如果有人知道这里有什么要解决的,请帮助


$sql = "SELECT
        cat_id,
        cat_name,
        cat_description,
    FROM
        categories";

$result = mysqli_query($sql);
if(!$result)
{
echo 'The categories could not be displayed, please try again later.';
}
else
}
if(mysqli_num_rows($result) == 0)
{
        echo 'No categories defined yet.';
}
else
{
 echo '<table border="1">
          <tr>
            <th>Category</th>
            <th>Last topic</th>
          </tr>'; 
  while($row = mysqli_fetch_assoc($result))
    {     
 echo '<tr>';
            echo '<td class="leftpart">';
                echo '<h3><a href="category.php?id">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'];
            echo '</td>';
            echo '<td class="rightpart">';
                        echo '<a href="topic.php?id=">Topic subject</a> at 10-10';
            echo '</td>';
        echo '</tr>';
  }
}

我正在使用这个其他文件连接到 mydb

$server = 'localhost';
$username   = 'root';
$password   = '';
$database   = 'project yi';
 $link=mysqli_connect($server, $username,  $password, $database);

这里有一些东西可以满足您的需求。希望这有效:)

<?php 
        $Connection = mysql_connect('localhost', 'DBNAME', 'PASSWORD');
            if (!$Connection) {
                die('ACCESS DENIED: Cannot make a Secure Connection to the Database.<br><br>' . mysql_error());
        }

        $Database = mysql_select_db('main_webapp', $Connection);
            if (!$Database) {
                die ('DIED' . mysql_error());
        }

        $query = "SELECT * FROM table_name ORDER BY column_name ASC";
            $result = mysql_query( $query );
                if ( !$result ) {
                    $ErrorMessage  = 'Invalid query: ' . mysql_error() . "\n";
                    $ErrorMessage .= 'Whole query: ' . $query;
                die( $ErrorMessage );
        }

        $JSON_output = array();
            while ( $row = mysql_fetch_assoc( $result ) )
        {

        $JSON_output[] = array('column_name'        => $row['column_name'], 
                                'column_name'       => $row['column_name'], 
                                'column_name'       => $row['column_name'], 
                                'column_name'       => $row['column_name']
                            );
        }

header( "Content-Type: application/json" );

    $JSON_output = json_encode($JSON_output);

echo $JSON_output;

mysql_close($Connection);
?>

你的输出将是 post 通过 JSON 到 json.php

要调用网页上的代码,您需要做

<script type="text/javascript">
                jQuery.ajax({
                     type: "GET",
                     url: "json.php",
                     dataType: "json",
                     success: function(response){
                        $.each(response, function(key, value){
                            var html = '' +
                                '<center><div class="col-md-3">'+value.column_name+'</div>'+
                                '<div class="col-md-3">'+value.column_name+'</div>'+
                                '<div class="col-md-3">'+value.column_name+'</div>'+
                                '<div class="col-md-3">'+value.column_name+'</div></center>';
                            $("#JSON_output").append(html);
                        });
                        }
                        });
                </script>

这里有一些错误。

首先,您需要将数据库连接传递给您的查询。

您目前使用的是:

$result = mysqli_query($sql);

您需要改用什么:

$result = mysqli_query($link, $sql);

阅读文档:

程序风格

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

然后,您在 cat_description

之后的查询中有一个尾随逗号
$sql = "SELECT
        cat_id,
        cat_name,
        cat_description, <<< right there
    FROM
        categories";
  • 您需要删除它。

检查您的查询是否有错误会发现这一点。


您最初没有 post 但在评论中留下的代码的额外答案:

为了回答您在上面 post 编辑的内容而不是您原来问题的一部分,您的回声包装引号是单引号并且您也在其中使用单引号。

  • 就这样echo "<p><form method='post' ...";

您在开始和结束语句中都使用了单引号,并且在 echo 语句中使用了单引号。

重写:

echo "<p><form method='post' action='create_cat.php'></p> 
Category name: <input type='text' name='cat_name' /> 
Category description: <textarea name='cat_description' /></textarea> 
<input type='submit' value='Add category' /> </form>";