Php MySQLi特定查询不起作用

Php MySQLi特定查询不起作用,php,mysql,mysqli,Php,Mysql,Mysqli,我试图从特定表中获取总行数: $result = mysqli_query( $dbcnx, "SELECT COUNT(*) FROM `servers` ;" ); $total = mysqli_fetch_row( $result ); return $total[ 0 ] == 0 ? 0 : $total[ 0 ]; 我刚从MySQL改为MySQLi。 该值应为1作为行数,但如果我不检查它,它将返回空字符串 我试图检查是否有任何错误,但它显示什么 我的代码有什么问题 编辑:

我试图从特定表中获取总行数:

 $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;
}

您不需要在查询字符串中包含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);
?>

抱歉耽搁了,我两天前解决了这个问题

问题在于它的使用

我在函数中使用了连接$dbcnx,所以我添加了全局$dbcnx,它成功了


谢谢大家!

请通过在查询命令后提供echo mysqli_error的输出来添加调试信息。也请确保。请尝试不带分号的查询:FROM`servers`;,mysqli处理多个查询的方式通常与旧的mysql库非常不同,可能是分号导致其行为发生了变化。请参见我的编辑,$dbcnx导致了所有这一切,但仅对于这个特定的查询,连接脚本和第一个脚本是不同的?$dbcnx=mysqli\u connectmyhost,myuser,mypassw,mybd或dieError。mysqli_错误$link;运行此命令并检查错误,正如@scragar在另一个答案中所说的,永远不要这样做。您从表中获取所有数据只是为了计算结果。所有连接字符串变量的$\ POST在哪里?如果用户名和密码无效,连接字符串将返回未定义的索引