繁体   English   中英

MySQLi特定查询不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM