-3

こんにちは、関数によって返される 2 次元配列にアクセスする方法がわかりません。

接続クラスquery($query)内の私の関数(内部):Connection.php

public function query($query)
  {
      $result = mysql_query($query);

       $array= array();
      for($i=0; $i<mysql_num_rows($result); $i++)
      {
       $row = mysql_fetch_array($result);
       for($j=0;$j<(sizeof($row)/2);$j++)
       {
         $array[i][j]=$row[$j];
       }
      }
      return $array;
    }

そして私のtest.phpファイル:

<?php
include 'Connection.php';

$obj1 = new Connection();
echo $obj1->toString();

$array=$obj1->query("SELECT * FROM LeCars ORDER BY ID;");
echo $array[0][0];
echo 'asd:',$array[0][0],'<br>';
echo 'asd:',$array[0][1],'<br>';
echo 'asd:',$array[0][2],'<br>';
echo 'asd:',$array[1][0],'<br>';
echo 'asd:',$array[2][4],'<br>';
var_export($array);

?>

test.php の出力:

ip: 194.00.00.27 ログイン: asd123 パスワード: asd123 テーブル: asdasd1123 クエリ: asd: asd: asd: asd: asd: 配列 ( 'i' => 配列 ( 'j' => NULL, ), )

Any1 は、その配列を test.php に適切に送信する方法を知っていますか?

私が試したこと:それをループし、参照によって送信し、配列rlyが機能するかどうかを二重にチェックしました(機能します)が、テストしてそこにアクセスするために送信することはできません

4

2 に答える 2

0

mysql_query()は2次元配列を返しません。'resource'を返します。これは、noataphpタイプのオブジェクトであることを意味します。特殊機能で操作できます。

ここでドキュメントと例を参照してください:http://php.net/manual/en/function.mysql-query.php

于 2012-12-23T23:30:12.013 に答える
0

まず第一に、toString() はその文字列値のみを返す必要があり、出力する必要はありません。

次に、関数から返される 2 次元配列は、通常の 2 次元配列と同じです。試したことはありませんか。

$array=$obj1->query("SELECT * FROM LeCars ORDER BY ID;");
echo $array[0][0];

?

また、「foreach」と「count」については PHP のマニュアルを参照してください。

于 2012-12-24T00:34:21.660 に答える