无法获取mysqli

时间:2014-04-09 13:18:51

标签: php mysql mysqli

在你发给我其他问题的链接之前,请先阅读我的代码。我用Google搜索了大约一个小时的问题并尝试了我能找到的每一个建议。我从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();

我已经尝试获取错误输出,这表明“结果”为空,就像我从其他人那里解决了问题。 我现在的错误是:

  

警告:mysqli :: query():无法在...中获取mysqli   致命错误:在...

中的非对象上调用成员函数fetch_array()

不知道如何解决问题。感谢

编辑:抱歉,我的代码中有一个拼写错误,我的代码是正确的!

3 个答案:

答案 0 :(得分:2)

错误&#34 ;;"在这里的城市之后:

$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();

删除此行!

答案 1 :(得分:0)

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

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

检查这里的第一个例子

http://us2.php.net/manual/en/mysqli-result.fetch-array.php

更新:

$mysqli->close();

在fetch之前完成,因此在完成所有操作后,这应该是代码的最后一行。

答案 2 :(得分:0)

尝试更改此代码

$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']}";
}