MySQLi - 获取数组和准备语句

时间:2012-08-08 13:13:38

标签: php arrays mysqli prepared-statement

我想显示表中的行但它不起作用,它不会回显任何内容。

$query = "SELECT * FROM table ORDER BY date DESC LIMIT ?, 10";
$stmt = $mysqli->stmt_init();
if ($stmt->prepare($query)) {

    $stmt->bind_param("i", $row_start);
    $stmt->execute();
    $stmt->bind_result($result);
    $stmt->fetch();
    $stmt->close();
}
while($row = mysqli_fetch_array( $result )) {
    echo $row['title'];
}

我有旧的mysql ext的代码,它的工作原理。试图用mysqli获得相同的结果。

1 个答案:

答案 0 :(得分:0)

请阅读以下链接: -

Mysqli abstraction, fetching arrays from prepared statements

call_user_func_array(...)函数只调用带有给定数组的$ query对象上的bindParam或bind_result方法,就好像你已经将数组的每个元素都提供为方法参数一样。

您可能需要使用以下代码检查出现问题的SQL语句。我已经重写了一下,以使其完全可测试,因为原始代码依赖于抽象层中的语句类。