Mysqli Fetch Array无效

时间:2014-01-31 03:00:54

标签: php mysql mysqli

我正在尝试从MySql转换为MySqli。我不知道为什么这不起作用,而且我看起来完全没问题。

$link = mysqli_connect('localhost', 'username', 'password', 'db_name') or die("Error " . mysqli_error($link));
$sql = "SELECT COUNT(*) \"total\" FROM forum_topic WHERE thread_id";

$queryResult = mysqli_query($link,$sql);
$row = mysqli_fetch_array($queryResult);

$total = $row['total'];
$max_limit = 10;
$total_page = ceil($total/$max_limit);
$current_page = (isset($_GET['page']))?$_GET['page']:1;
$start_point = ($current_page-1) * $max_limit;

问题就像 mysqli_fetch_array()期望参数1是mysqli_result,布尔值在

中给出

我可能会遗漏一些东西。这是mysqli_fetch_array的错误。并且错误显示布尔值,我不知道为什么它不起作用。有任何想法吗?谢谢。感谢您的回答。

3 个答案:

答案 0 :(得分:1)

执行查询时,请检查它是否已正确执行或查询是否有错误。 $ sql_query =“select * from some_table”;

$q_res = mysqli_query($link, $sql_query);
if($q_res){
    //Perform mysqli_fetch_array() here.
}else{
    die(mysqli_error($link));
}

答案 1 :(得分:0)

理论上......

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT COUNT(*) total FROM forum_topic WHERE thread_id";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        $total = $row['total'];
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

...将得到$ total。

答案 2 :(得分:0)

如果您没有任何条件,那么为什么要在查询中放置WHERE子句。将\"total\"替换为“total”。您的简单查询应该是这样的,不会给您任何错误。

$sql = "SELECT COUNT(*) AS `total` FROM forum_topic";