【问题标题】:Problem with Mysqli SELECT statement not returning anythingMysqli SELECT 语句不返回任何内容的问题
【发布时间】:2010-02-22 10:44:53
【问题描述】:

我敢肯定,这将是没有时间的人。

我知道 MySqli 可以在这台服务器上工作,因为我已经尝试过插入并且它们工作正常。

我也知道我试图获取的信息在数据库中,我可以毫无问题地连接到数据库。但我一生都无法弄清楚为什么这不起作用。我已经尝试过 OO 和 Procedural,但它们都不起作用。有人能告诉我我应该做什么吗?谢谢

$table = 'newcms_broadcasting';

$sql = "SELECT first_info1 FROM $table WHERE region_id = ?";

echo $sql;

//echo $sql;


$region = '1';

$stmt = mysqli_prepare($connection, $sql);

    mysqli_stmt_bind_param("s", $region);
    mysqli_execute();
    mysqli_bind_result($result);

    echo 'blah';

    // display the results
    mysqli_fetch($stmt);

    echo "name: $result";

    // clean up your mess!
    mysqli_close($stmt);

【问题讨论】:

    标签: php mysqli


    【解决方案1】:

    当使用程序样式时,你应该将 $stmt 传递给 mysqli_stmt_bind_param、mysqli_stmt_execute、mysqli_bind_result 等

    mysqli_stmt_bind_param($stmt, "s", $region);
    mysqli_stmt_execute($stmt);
    mysqli_bind_result($stmt, $result);
    while (mysqli_stmt_fetch($stmt)) {
        print_r($result);
    }
    

    【讨论】:

    • 太棒了!知道这会是我遗漏的东西!谢谢你。它现在是一种享受!
    【解决方案2】:

    您忘记在绑定结果中包含已编译的语句:

    mysqli_stmt_bind_result($stmt, $result);
    

    还请注意,mysqli_fetch 已弃用,您是否尝试过使用经典的获取 while 循环?

    while (mysqli_stmt_fetch($stmt)) {
        print_r($result);
    }
    

    【讨论】:

    • 恐怕对我没有用。不过谢谢
    猜你喜欢
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多