Php 警告:mysqli_error()只需要1个参数,0个给定错误

Php 警告:mysqli_error()只需要1个参数,0个给定错误,php,mysqli,Php,Mysqli,我得到以下错误 警告:mysqli_error()只需要1个参数,给定0 问题在于这一行代码: $query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 整个代码是 session_start(); require_once "scripts/connect_to_mysql2.php"; //Build Main Navigation menu and gather page data here

我得到以下错误

警告:mysqli_error()只需要1个参数,给定0

问题在于这一行代码:

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
整个代码是

session_start();

require_once "scripts/connect_to_mysql2.php";

//Build Main Navigation menu and gather page data here

$sqlCommand = "SELECT id, linklabel FROM pages ORDER BY pageorder ASC";

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = '';
while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["id"];
    $linklabel = $row["linklabel"];

    $menuDisplay .= '<a href="index.php?pid=' . $pid . '">' . $linklabel . '</a><br />';

} 
mysqli_free_result($query); 
mysqli_error()需要您将连接作为参数传递给数据库。此处的文档提供了一些有用的示例:

试着像这样改变你的问题线,你应该处于良好状态:

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection)); 

mysqli\u error
函数需要
$myConnection
作为参数,这就是为什么一开始会收到警告的原因,问题是您没有为
mysqli\u error
设置任何参数。根据这里的帖子,我可以看出问题已经解决了。很可能,下一个问题是由包含的文件的错误文件路径引起的

是否确定以下代码位于“脚本”文件夹中,并且您的主代码文件与脚本文件夹处于同一级别

$myConnection = mysqli_connect($db_host,$db_username,$db_pass,$db_name) or die ("could not connect to mysql");
改变

在查询中

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

与问题无关的东西:“$var”是多余的。这只是打开一个字符串,看到$var,将其值放入字符串中,然后从字符串中退出。换句话说,您可以只使用$var。就像mysqli_connect($db_host,$db_username…)@Corbin一样,它不一定是多余的。某些内置函数对其接受的类型要求严格,而
“$var”
将强制将非字符串变量转换为字符串类型以传递给函数。因此,如果
$var=0
“$var”
“0”
。在这种情况下(mysql\u connect),它肯定是多余的。另外,你能说出一个对这一点要求严格的内置函数吗?我会发现(string)$var更干净,但是“$var”也同样有意义(而且更简短)。我怀疑您忽略了错误消息,认为它无关紧要。它告诉您错误的确切位置,并给出最清晰的解释。@Aasim Azam您的问题是,在mysqli中,您需要使用:mysqli_connect_error()(这仅用于连接错误!),而不是mysqli_error($myConnection)。
die (mysqli_error()); 
die('Error: ' . mysqli_error($myConnection));
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());