警告:mysqli_query()要求参数1为mysqli,字符串为

lix*_*xle 3 php mysql email post mysqli

我在标题中提到了警告,我的代码在这里:

<?php
 require_once 'conn.php';
 require_once 'http.php';

if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
    case 'Login':
    if (isset($_POST['email'])
    and isset($_POST['passwd']))
    {


 $sql = "SELECT user_id, access_lvl,name "."FROM cms_users"."WHERE email='" . $_POST['email'] . "' " .
        "AND passwd='" . $_POST['passwd'] . "'";

      $result = mysqli_query($sql, $conn) or  die('Could not look up user information; ' . mysql_error());
Run Code Online (Sandbox Code Playgroud)

Ray*_*Ray 13

它与错误状态完全相同,因为您错误地将参数传递给mysqli_query.假设$conn你的mysqli连接在某些时候产生的new mysqli()应该是:

$result = mysqli_query( $conn,$sql) or trigger_error(mysqli_error($conn)));
Run Code Online (Sandbox Code Playgroud)

你调用它的方式就是传递一个字符串, $sql作为第一个参数.