2

私のwhileループで壊れます。PHPマニュアルを読んでいますが、ここで何が間違っているのか理解できません...

$pdoは私のdb接続への呼び出しです

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::execute」によると、-メソッドは結果をexecute()返すtrueかどうかを示します。false

成功した場合はTRUEを返し、失敗した場合はFALSEを返します。

もちろん、これは、を呼び出すときに「非オブジェクトでのメンバー関数fetchObject()の呼び出し」$result->fetchObject()につながります。

コードは次のようになります。

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

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