当启动我的代码时,我得到一个失败的查询和以下错误:
mysqli_query() expects parameter 1 to be mysqli, null given in
mysqli_error() expects parameter 1 to be mysqli, string given in
<?php
include('mysql_config.php');
function mysqlConnect()
{
global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database;
$link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password)
or die('Could not connect: ' . mysqli_error());
mysqli_select_db($link,$mysql_database) or die('Could not select database');
return $link;
}
function mysqliClose($link)
{
mysqli_close($link);
}
function sendQuery($query)
{
$result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error("could not query"));
return $result;
}
?>
如何正确格式化 mysqli_query 和 mysqli_error 函数?
最佳答案
上面的代码有两个错误:
- 您错过了将
$link
global
声明为$mysql_hostname
等 - 您将错误的参数类型传递给
mysqli_error()
它期望mysqli
而您传递了一个string
我已经改变了你的例子:
<?php
include('mysql_config.php');
// declaring an additional global var.
$link = NULL;
function mysqlConnect()
{
global $link; // using the global $link
global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database;
$link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password)
or die('Could not connect: ' . mysqli_connect_error());
mysqli_select_db($link,$mysql_database) or die('Could not select database');
return $link;
}
function mysqliClose($link)
{
mysqli_close($link);
}
function sendQuery($query)
{
global $link; // using the global $link
$result = mysqli_query($link, $query) or die('Query failed: '
. mysqli_error($link)); // note $link is the param
return $result;
}
关于php - 正确的 mysqli_query 和 mysqli_error 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002994/