2

在我的 while 循环中中断。一直在阅读php手册,但无法弄清楚我在这里做错了什么......

$pdo 调用我的数据库连接

function getSelectedPhoto($the_selected_id) {
global $pdo;

$id = $the_selected_id;

$stmt = $pdo->prepare("SELECT handle, src FROM images WHERE id = :id LIMIT 1");
$vars = array(':id' => $id);
$result = $stmt->execute($vars);

if($result) {
    while($row = $result->fetchObject()) {
        echo '<img src="../' . $row->src . '" alt="image" /><br />';
        echo '<p id="handle">' . $row->handle . '</p>';
    } 
} else die("There was some problem");

}

4

1 回答 1

3

根据手册“ PDOStatement::executeexecute()- 方法返回truefalse不返回结果:

成功时返回 TRUE,失败时返回 FALSE。

当然,这将导致“调用非对象上的成员函数 fetchObject()$result->fetchObject()

你的代码应该是这样的:

$result = $stmt->execute($vars);

if ($result) {
    while( $row = $stmt->fetchObject() ) {}
}
于 2012-08-15T21:55:47.870 回答