[英]MySQLi Specific Querys dont work
我试图从特定表中获取总行数:
$result = mysqli_query( $dbcnx, "SELECT COUNT(*) FROM `servers` ;" );
$total = mysqli_fetch_row( $result );
return $total[ 0 ] == 0 ? 0 : $total[ 0 ];
我刚刚从MySQL更改为MySQLi。 该值应为1作为行数,但是如果我不检查它,它将返回空字符串。
我试图检查是否有任何错误,但什么也没显示。
我的代码有什么问题?
编辑:
我启用了错误报告,现在显示
未定义索引$ dbcnx
但是连接是成功的,那我该怎么办?
这是连接脚本:
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
ini_set('xmlrpc_errors', true);
$dbcnx = mysqli_connect( $hostname, $user, $pass, $database );
if( mysqli_connect_errno() )
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit;
}
抱歉,我于2天前解决了该问题。
问题在于使用它。
我在功能中使用连接$ dbcnx,所以我添加了全局$ dbcnx,它起作用了。
谢谢你们!
您不需要在查询字符串中包含count(*),因为mysqli具有用于计算行数的集成功能。
<?php
//CONN STRING
$dbConn = mysqli_connect($hostname, $user, $pass, $database);
//CHECK CONN
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//QUERY TO RUN
$query = "SELECT id FROM servers ORDER BY id";
if ($result = mysqli_query($dbConn, $query)) {
// GET # of ROWS
$count = mysqli_num_rows($result);
//OUTPUT %d will take whats in $count
printf("Result set has %d rows.", $count);
mysqli_free_result($result);
}
//CLOSE CONN
mysqli_close($dbConn);
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.