1

次の同等の PDO と同等のものは何ですか?

$i=0;
while ($i < $num_articles){
$title=mysql_result( $sql_result_article,$i,"Article_Title");
$id =mysql_result( $sql_result_article,$i,"Article_Id");
$i++;
}

私はそれを使用してみました:

$title = $select_spec_article_stmt->fetchColumn(0);
$nc=$select_spec_article_stmt->fetchColumn(1);

しかし、適切な記録が表示されないため、まだ問題に直面しています。$titlePDO でにコメントすると、 の適切なレコードが表示され$ncます。アイデアや提案はありますか?

4

1 に答える 1

3

mysql_resultmysql データを処理する最も醜い方法でした。このアプローチを PDO のすばらしい新しい世界に持ち込まないでください。

mysql ext を使用しても、配列を使用できました。したがって、PDO を使用する必要があります。どちらも
必要ありませんmysql_resultnum_articles.

最初にデータを取得してください:

$data = $stmt->fetchAll();

foreach ループでは、各変数を配列メンバーとしてアドレス指定できます。

<table>
<? foreach ($data as $row): ?>
  <tr>
    <td>
      <a href="news.php?<?=$row['Article_Id']?>">
        <?=htmlspecialchars($row['Article_Title'])?>
      </a>
    </td>
  </tr>
<? endforeach ?>

または、スカラー変数に固執したい場合は、extract() を使用します。

<table>
<? foreach ($data as $row): extract($row); ?>
  <tr>
    <td>
      <a href="news.php?<?=$Article_Id?>">
        <?=htmlspecialchars($Article_Title)?>
      </a>
    </td>
  </tr>
<? endforeach ?>

これらのふさふさしたフィールド名が気に入らない場合は、データベースで使用しないでください

于 2013-04-12T11:52:33.213 に答える