我的代码中有一些问题

3lxsmp7m  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(292)

这个问题在这里已经有答案了

我可以在php中混合mysql api吗(4个答案)
两年前关门了。
这是我的密码:

$con = mysqli_connect($databasehost,$dbname,$dbpassword) or die(mysql_error());
mysqli_select_db($con, $dbname) or die(mysql_error());
mysqli_query($con,"SET CHARACTER SET utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con,$query);

if (mysql_errno()) {
    header("HTTP/1.1 500 Internal Server Error");
    echo $query.'\n';
    echo mysql_error();
}
else
{
    $rows = array();
    while($row = mysql_fetch_assoc($sth)){
        $rows[] = $r;
    }
    print json_encode($rows);
}

有什么问题吗?
这是错误:

[19-Jan-2018 09:17:39 UTC] PHP Warning:  mysql_fetch_assoc() expects parameter 1 to be resource on line 22
44u64gxh

44u64gxh1#

你的问题是你混合了mysqli和mysql。
尝试使用 mysqli_fetch_assoc($sth) 而不是 mysql_fetch_assoc($sth) .
而且,在 mysqli_connect("host", "user", "password", "database") ,您缺少用户名。

// (1) make sure $username is defined.
$con = mysqli_connect($databasehost,$username,$dbname,$dbpassword) or die(mysqli_error());

// check to use mysqli_, not mysql_
mysqli_select_db($con, $dbname) or die(mysqli_error());
mysqli_query($con,"SET CHARACTER SET utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con,$query);

if (mysql_errno()) {
    header("HTTP/1.1 500 Internal Server Error");
    echo $query.'\n';
    echo mysql_error();
}
else
{
    $rows = array();

    // (2) Use mysqli_fetch_assoc instead of mysql_fetch_assoc.
    while($row = mysqli_fetch_assoc($sth)) {

        // (3) $r is not defined. Use $row.
        $rows[] = $row;
    }
    print json_encode($rows);
}
enxuqcxy

enxuqcxy2#

你在混 mysqli 以及 mysql .
后者从5.5.0版起就不再推荐了。
尝试使用 mysqli_fetch_assoc($sth) 而不是 mysql_fetch_assoc($sth) 看到了吗http://php.net/manual/en/mysqli-result.fetch-assoc.php 也。

相关问题