0

初めてクエリを準備済みステートメントに変換していますが、データを抽出する方法がわかりません...

これが私のコードです:

/* Create a new mysqli object with database connection parameters */
$mysqli = new mysqli($hostname_db, $username_db, $password_db, $database_db);
if(mysqli_connect_errno()) {
  echo "Connection Failed: " . mysqli_connect_errno();
  exit();
}

   if($stmt = $mysqli -> prepare("SELECT name FROM table WHERE id=?")) {
      /* Bind parameters, s - string, b - blob, i - int, etc */
      $stmt -> bind_param("i", $rid);
      $stmt -> execute();
      $stmt -> bind_result($result);
      $stmt -> fetch();
      $stmt -> close();
   }    
   $mysqli -> close();

この例では、次のようにページの本文に結果を表示できました。

<?php echo $results; ?>

ただし、上記の例のクエリを変更してすべてのフィールドを取得すると、表示方法がわかりませんでした。

SELECT * FROM table WHERE id = ? 

これはうまくいきませんでした:

<?php echo $results['id'] ?>

ここで何が欠けていますか?そのクエリからランダムなフィールド名を表示するにはどうすればよいですか?

ありがとう!!

4

3 に答える 3

0

次のように、列を 1 つずつ格納することを考える必要があります。

$stmt->execute();

$stmt->bind_result($col1, $col2);

または、この回答のコードを使用します。これにより、互いに指定せずにすべての列の配列が得られます。

于 2013-05-23T19:21:13.520 に答える