Php 不能';拿不到mysqli

Php 不能';拿不到mysqli,php,mysql,mysqli,Php,Mysql,Mysqli,在你给我发送上千个其他问题的链接之前,请阅读我的代码。我在谷歌上搜索了大约一个小时,并尝试了我能找到的所有建议。我从php书中得到了一个类似的代码示例,但它在我的本地服务器上不起作用。 我的代码: $mysqli = new mysqli("localhost", "root", "", "poi_site"); if ($mysqli->connect_error){ echo "something went wrong!".mysqli_connect_error();

在你给我发送上千个其他问题的链接之前,请阅读我的代码。我在谷歌上搜索了大约一个小时,并尝试了我能找到的所有建议。我从php书中得到了一个类似的代码示例,但它在我的本地服务器上不起作用。 我的代码:

$mysqli = new mysqli("localhost", "root", "", "poi_site");
if ($mysqli->connect_error){
    echo "something went wrong!".mysqli_connect_error();
    exit();
}
echo "db connection is stable";
$mysqli->close();


$result = $mysqli->query("SELECT name FROM cities;");
while($row = $result->fetch_array()) {                                  
echo " {$row['name']}";
}
$result->close();
我已经尝试得到一个错误输出,结果显示“result”为空,就像我从其他人那里扩展了这个问题一样。 我目前的错误是:

警告:mysqli::query():无法在中获取mysqli。。。 致命错误:对中的非对象调用成员函数fetch_array()

我不知道如何解决这个问题。谢谢


编辑:对不起,我这里的代码有一个输入错误,它就在我的代码上

while($row = $ergebnis->fetch_array()) {        

检查这里的第一个示例

更新:

$mysqli->close();
是在获取之前完成的,因此这应该是您完成所有操作后的最后一行代码。

错误“;”在这里的城市之后:

$result = $mysqli->query("SELECT name FROM cities;");
$result = $mysqli->query("SELECT name FROM cities");
这必须是$result而不是$ergebnis

while($row = $ergebnis->fetch_array()) {           
while($row = $result->fetch_array()) {       
在这里,$row语句前后不需要“{”和“}”:

echo " $row['name']";
echo " $row['name']";
在此处查询之前,请关闭数据库:

echo "db connection is stable";
$mysqli->close();

删除这行

尝试更改此代码

$result = $mysqli->query("SELECT name FROM cities;");
while($row = $ergebnis->fetch_array()) {                                    
echo " {$row['name']}";
}
用这个,检查你是否也没有结果

$result = $mysqli_query($conn,"SELECT name FROM cities");
while($row = mysqli_fetch_array($result)) {                                    
echo " {$row['name']}";
}

在进行查询之前关闭连接肯定不是一个好主意。很抱歉,我在这里的代码中有一个输入错误,它就在我的代码上!如果这三件事都不起作用,你就不能从数据库中得到结果,可能是你的连接,或者表是空的删除上面的$mysqli->close()行。这不是必需的,没有用,但是,是的,如果你想删除$mysqli->close()行,你可以使用它:)
$result = $mysqli_query($conn,"SELECT name FROM cities");
while($row = mysqli_fetch_array($result)) {                                    
echo " {$row['name']}";
}