mysqli_fetch_array期望参数1为mysqli_result,null

时间:2013-05-02 12:48:13

标签: php mysqli

嘿我正在编写此代码,根据HTML表单上的条目创建学生列表。我收到以下错误:

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in ..... on line 15.

我做了很多改动和重新安排,但似乎无法让它发挥作用。任何帮助的提示都绝对令人惊叹!

代码是:

<?php
require_once 'connect.php';
mysql_select_db("db_ll20g11");

if ($_POST ['criterion'] == 'c'){
        $status = 'current';
        echo 'Current students list<br/>';
    }
    else{
        $status ='left';
        echo' Left Students list <br/>';
    }

    $listings = "SELECT * FROM student WHERE status ='".$status."'";
    $results = mysqli_query($listings, $connect);
    //mysqli_fetch_query not working
    while ($row = mysqli_fetch_array($results))
    {
    echo  'Name:' .$row['name'] . " " .' Date of Birth:' .$row['dateOfBirth'] . " " . 'Gender:' .$row['gender'] . " " .'Email:' .$row['email']. " ";
    }

     echo '<br />';
?>

谢谢。

2 个答案:

答案 0 :(得分:1)

您刚刚混淆了参数顺序。

http://php.net/mysqli_query下:

  

程序风格

     

混合mysqli_query(mysqli $ link,字符串$ query [,int $ resultmode = MYSQLI_STORE_RESULT])

所以,写:

$results = mysqli_query($connect, $listings);

并且不要在相同的代码中使用mysql和mysqli:mysql_select_db("db_ll20g11");在这里与mysqli结合使用不起作用。

使用:

$connect = new mysqli("host", "user", "pass", "db_ll20g11");

答案 1 :(得分:0)

mysqli_query($listings, $connect);

应该是

mysqli_query($connect, $listings);

链接是指定它时的第一个参数,使查询成为第二个参数。