基本的mysql查询没有结果

时间:2013-03-21 14:48:13

标签: php mysql

我得到了一个简单的查询:

$con = mysqli_connect("host","username","password","default_database");

if(mysqli_connect_errno($con))
{
    mysqli_connect_error();
}
else
{
    $query = "SELECT * FROM `users_t`";
    $result = mysqli_query($query) or die (mysql_error());
    while($row = mysqli_fetch_assoc($result))
    {
        echo $row['email'];
    }

}

运行此查询绝对没有任何帮助。没有错误,但同时没有结果。我无法弄清楚什么是错的,请帮帮我。

3 个答案:

答案 0 :(得分:2)

看起来这里可能会发生一些事情:

  1. 根据mysqli_connect_errno() Documentation,您应该在!$con声明中检查mysqli_connect_errno($con)而不是if
  2. 遇到连接错误时,您正在调用错误功能但不打印它。
  3. 根据mysqli_query() documentation,第一个参数应该是数据库连接,第二个参数是查询本身。
  4. 当查询出错时,您应该在调用mysql_error()时调用mysqli_error(),并将连接传递给它。再次,根据documentation
  5. 尝试一下,看看这是否可以解决您的问题:

    <?php
    $con = mysqli_connect("host","username","password","default_database");
    
    if(!$con) {
      print mysqli_connect_error();
    } else {
      $query = "SELECT * FROM `users_t`";
      $result = mysqli_query($con, $query) or die (mysqli_error($con));
      while($row = mysqli_fetch_assoc($result)) {
        echo $row['email'];
      }
    }
    

答案 1 :(得分:0)

$result = mysqli_query($query) or die (mysql_error());

需要一个mysqli资源链接,而不是mysql_error()

if ($result = mysqli_query($con,$query))
{
while($row = mysqli_fetch_assoc($result))
    {
        echo $row['email'];
    } 
}

答案 2 :(得分:0)

PHP区分大小写,因此有一个非常好的更改,即您的数据库中的列实际上名为Email,然后在检查$row['email']时没有结果,因为{{1必须是大写的。

您可以做的是确保在PHP中使用正确的大小写,或者只选择您想要的字段。 MYSQL并不具有案例敏感性,因此如果您执行以下操作,它将起作用。

另一种检查您是否拥有合适案例的好方法:使用E(我已将其添加到代码中以便向您展示)

var_dump($row)
相关问题