0

次のコードを使用して、mysqlテーブルからすべてのデータを取得しようとしています。

$dbc = mysqli_connect('host', 'user', 'password', 'table');
$q = 'SELECT * FROM users';
$r = mysqli_query($dbc, $q);

$user_array = array();
    while ($row = mysql_fetch_array($r)) 
        {
        $user_array[]=$row;
        }
    echo "<br />";
    echo "print r of user_array: <br />";
    print_r($user_array);

何も得られません。このチュートリアル(http://www.w3schools.com/php/php_mysql_select.asp)などを見ましたが、混乱するだけです。

私は何が間違っているのですか?

4

2 に答える 2

2

これを変更してみてください

mysql_fetch_array($r)

mysqli_fetch_array($r)
于 2013-03-06T04:08:27.983 に答える
2

手続き型MySQLiAPI()を介して接続しましたが、古いAPIから古いAPImysqli_connect()を使用しようとしています。それらは互換性がありません。mysql_fetch_array()mysql_*()

mysqli_fetch_array()またはのmysqli_fetch_assoc()代わりにフェッチする必要があります。mysqli_fetch_assoc()出力の列名に加えて数値キーが本当に必要な場合を除いて、推奨されます$row

// Check for errors.
if ($r) {
  while ($row = mysqli_fetch_assoc($r)) {
    $user_array[] = $row;
  }
}
else echo mysqli_error($dbc);

SELECT *現在作業しているのは、パラメーターがなく、WHERE句がない単純なクエリです。将来的には、WHERE条件の追加を開始するときに、プリペアドステートメントとについて読み始めたいと思うでしょうmysqli::prepare()

于 2013-03-06T04:08:45.980 に答える