Php mysqli_error()要求参数1为mysqli,给定null

Php mysqli_error()要求参数1为mysqli,给定null,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个表单,它从数据库中提取数据(具体来说是mysql),并将数据回送到标记的值部分。它似乎不起作用,我已经在我的网站的一个视图部分编写了代码来做同样的事情,但来自我数据库中的另一个表。我使用相同的代码使更改变得容易,并且如果将来有其他开发人员在我的网站上工作。无论如何,它似乎不起作用,但我不知道为什么 我得到的完整错误是: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/caseol5

我有一个表单,它从数据库中提取数据(具体来说是mysql),并将数据回送到
标记的
部分。它似乎不起作用,我已经在我的网站的一个视图部分编写了代码来做同样的事情,但来自我数据库中的另一个表。我使用相同的代码使更改变得容易,并且如果将来有其他开发人员在我的网站上工作。无论如何,它似乎不起作用,但我不知道为什么

我得到的完整错误是:

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/caseol5/public_html/jj/admin/news_update.php on line 9 
这是错误所指的第9行:

$result = mysqli_query($link,$sql);
我知道这两个函数都不是空的:

echo $link
echo $sql 
在那行之前,在我开始FET错误之后,它们都不是空的

以下是完整的代码段:

$nid = $_GET['nid'];

include ("../sql/dbConnect.php");

$sql = "SELECT * FROM jj_news WHERE news_id = $nid";
echo "<p>The SQL Command: $sql </p>";   
echo "<p>Link: $link </p>";
$result = mysqli_query($link,$sql);


if (!$result)
{
    echo "<h1>You have encountered a problem with the update.</h1>";
    die( "<h2>" . mysqli_error($link) . "</h2>") ;  
}
$row = mysqli_fetch_array($result);     
$ntitle = $row['news_title'];
$ntline = $row['news_titleline'];
$ndesc = $row['news_desc'];
$nother = $row['news_other'];

正如错误消息中明确指出的那样,
mysqli\u query
希望第一个参数是
mysqli
资源。在您的情况下,此参数称为
$link
,但它包含一个
null
值。通过使用
mysqli\u connect

我希望
。/sql/dbConnect.php
文件包含与数据库连接的逻辑。验证
$link
变量是否确实在此处初始化。如果不存在,请尝试查找出现的
mysqli\u connect
-可能资源设置为其他变量


在不知道
。/sql/dbConnect.php
中的确切内容的情况下,您现在的问题是您没有有效的mysqli资源用于
mysqli\u查询

您能显示数据库连接代码吗?因为错误本身表示数据库连接对象$link为null,这意味着未正确创建该对象。请不要在include后面加括号,它是不需要的,而且效率低下。您的
echo
的输出是什么?我把我的db connect文件的内容放在问题中是
dbconnect.php
实际上是执行文件下方的一个目录,在
sql
目录中?您能否将
var\u dump($link)
的输出张贴在include语句的正下方?你能在输出(查看源代码,ctrl+u)的任何地方找到(ctrl+f)文本“我们有问题!”吗?根据他的编辑,
$link
似乎不是空的<代码>回声“我们有问题!”。@D4V1D根据文档,
mysqli\u connect
返回一个
mysqli
对象。连接状态是通过
mysqli\u connect\u error()
确定的,而不是通过检查返回值是否为
null
。我还没有证实这种行为。我不确定发生了什么,但现在它似乎起作用了。我真的不确定发生了什么。。。。
$hostname = "localhost";    
$username = "caseol5_jjoes";                
$database = "caseol5_jj_site";              
$password = "password1";                
$link = mysqli_connect($hostname, $username, $password, $database); 
$link = mysqli_connect($hostname,$username,$password,$database) or   die("Error " . mysqli_error($link));

if (!$link)                                     
{ 
    echo "We have a problem!";

}