-5

配列を作成するためのstackoveflowに関するいくつかの投稿を見てきましたが、探していたものがまだ見つかりませんでした...非常に多くの異なる答えを試して、達成しようとしているものに最も近いものを明確にしたいと思います。

このクエリを使用して配列を作成したいとします。

「select * from products」

これはどのように最も効率的に達成されますか?

ありがとうございました。

PS - 私はゼロから始めていることに注意してください。

アップデート

私の設定ファイル:

`[root@CentOS testphp]# vi config.php
<?php
// Connection's Parameters
$db_host="localhost";
$db_name="tablename";
$username="username";
$password="password";
$db_con=mysql_connect($db_host,$username,$password);
$connection_string=mysql_select_db($db_name);
// Connection
mysql_connect($db_host,$username,$password);
mysql_select_db($db_name);
?>`

配列を作成しようとしているphpコード...構文エラーが発生しています:

解析エラー: 構文エラー、2 行目の /var/www/html/testphp/test.php の予期しない T_VARIABLE

同じエラーが発生します。

`[root@CentOS testphp]# vi test.php
<?php include('config.php')
$query = "select * from upload_products";
$dataArray = array();
$result = mysqli_query($query, $link);
while($row = mysqli_fetch_assoc($query)) {
$dataArray[] = $row;
}
var_dump($dataArray); //Now you have your array.
?>`

任意のアイデア...ここで何かが欠けているように感じます。そして、はい、ドキュメントを読みました...コードを1行ずつ使用し、コードを確認しましたが、Webで見つけたすべてのコード例と同じエラーが発生します。

4

4 に答える 4

2

データベース結果オブジェクトを連想配列ディレクトリに変換する明確な方法はありません。この配列を結果として作成する必要があります。

$query = "...";
$dataArray = array();
$result = mysqli_query($query, $link);
while($row = mysqli_fetch_assoc($query)) {
    $dataArray[] = $row;
}
var_dump($dataArray); //Now you have your array.
于 2012-06-18T09:09:43.443 に答える
1

以下を使用できます。

$query = mysqli_query("SELECT * FROM products");
$result = mysqli_fetch_assoc($query);

ただし、$result 変数には 1 行しか表示されません。すべてをフェッチしたい場合は、それにループを適用する必要があります。

$query = mysqli_query("SELECT * FROM products");
while($result = mysqli_fetch_assoc($query)){
 //do something with your results 
 //you can access result like: $result['column_name']
}

今、あなたにとってそれは明らかですか?

于 2012-06-18T09:05:35.790 に答える
0

これを試して

@ $db = new mysqli('localhost', 'username', 'password', 'dbname');

  if (mysqli_connect_errno()) {
     echo 'Error: Could not connect to database.  Please try again later.';
     exit;
  }

  $query = "select * from books";
  $result = $db->query($query);

  $num_results = $result->num_rows;

  echo "<p>Number of books found: ".$num_results."</p>";

  for ($i=0; $i <$num_results; $i++) {
     $row = $result->fetch_assoc();
    // echo something here
  }

  $result->free();
  $db->close();
于 2012-06-18T10:35:26.410 に答える
0

mysql_fetch_assocまたはmysql_fetch_arrayを使用して、mysql クエリの応答を配列として取得できます。以下は、両方を使用する方法のコード例です。

mysql_fetch_assocを使用 :

$query = "select * from products";
$result = mysql_query($query);
if (mysql_num_rows($result) != 0) {
   while ($row = mysql_fetch_assoc($result)) {
          //every row will represent a record as an array
          // your code   
   }
}

mysql_fetch_arrayを使用 :

 $query = "select * from products";
 $result = mysql_query($query);
 if (mysql_num_rows($result) != 0) {
       while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
           //every row will represent a record as an array
           //  your code
      }
 }

さらに不明な点がある場合は、php のマニュアルを参照してください。

于 2012-06-18T09:19:27.480 に答える