因此,由于mysql被弃用,我正在将我的网站转移到mysqli。但是做研究,我一直在查找MySQLi如何返回mysql_result?
我的代码是
function user_count() {
return mysql_result(mysql_query("SELECT COUNT('user_id') FROM `ooig_users` WHERE `active`=1"), 0);
}
我找不到任何合适的东西,所以任何帮助都会受到赞赏!
答案 0 :(得分:1)
mysqli_query
会返回mysqli_result
或bool
。
失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。
你这样使用它:
// $query is a SELECT:
if($result = mysqli_query($connection, $query)){
// or go paranoid:
// if(($result = mysqli_query($connection, $query)) and ($result instanceof mysqli_result)){
// use it
}
答案 1 :(得分:0)
MySQLi没有直接等同于mysql_result()
;这是最接近其简洁性的:
function user_count(mysqli $db)
{
$sql = "SELECT COUNT('user_id') FROM `ooig_users` WHERE `active`=1";
return current($db->query($sql)->fetch_row());
}
但是,最好在整个过程中检查故障:
function user_count(mysqli $db)
{
$sql = "SELECT COUNT('user_id') FROM `ooig_users` WHERE `active`=1";
if (($res = $db->query($sql)) !== false) {
// if query succeeds it must have one row
return current($res->fetch_row());
}
return null; // or throw an exception
}