0

これをデータベースからエコーアウトしようとしていますが、問題があることはわかっていますが、情報を取得していないのか、間違った方法でエコーアウトしているのかわかりません。 PDOを使用。

<?php
include 'add/dbconnect.php';
function getfevent ($conn) {
$sql = "SELECT `name` FROM `event` WHERE `featured` = 0 LIMIT 0, 30 ";
foreach ($conn->query($sql) as $row) {
    echo $row['name'];
}
}
?>
4

3 に答える 3

3

への呼び出しPDO::queryはオブジェクトを返しPDOStatementます。やろうとしているように、そのオブジェクトを反復処理するだけではありません。結果セットにアクセスまたは反復するには、オブジェクトfetchfetchAllfetchObject、 などのメソッドを使用する必要があります。PDOStatement

于 2012-12-11T23:11:41.993 に答える
0

PDO からエラーが発生しない場合は、次のことを試してください。

INSERT INTO `event` (name, featured) VALUES ("name", 0)

次に、エコーが機能するかどうかを確認します:)

于 2012-12-11T23:13:15.090 に答える
0

このようなことを試してください(テストされていません)。

<?php
include 'add/dbconnect.php';
function getfevent ($conn) {
$sql = "SELECT `name` FROM `event` WHERE `featured` = 0 LIMIT 0, 30 ";
$statement=$conn->prepare($sql);
$statement->execute();
while($row=$statement->fetch()) {
echo $row['name'];
}
}
getfevent ($conn);
?>
于 2012-12-11T23:15:10.273 に答える