-2

データベースにあるデータを使用して JSON ファイルを作成するコードを取得しました。

<?php

$connect = mysql_connect("localhost", "root", "123", "boxr") or die("Error connecting with the host.");

$sql = mysql_query("SELECT * FROM users") or die(mysql_error());

$response = array();
$users = array();
$result = mysql_query ($sql);

while ($row = mysql_fetch_array($result)) {
    $gamertag = $row['gamertag'];
    $banned = $row['banned'];

    $users[] = array('gamertag' => $gamertag, 'banned' => $banned);

}

$response['users'] = $users;

$fp = fopen('users.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);

?>

問題は、スクリプトを実行すると、次のように表示されることです。

No database selected

コードを 2 回チェックしましたが、その理由がわかりません。

4

3 に答える 3

2

次の方法でデータベース名を選択する必要があります。

mysql_select_db ('your_db_name');

さて、あなたはそのようにすることができます:

$connect = mysql_connect("localhost", "root", "123") or die("Error connecting with the host.");
mysql_select_db("boxr", $connect);

そして後で、それを修正します:

$sql = mysql_query("SELECT * FROM users") or die(mysql_error());

while ($row = mysql_fetch_array($result))...

に:

$sql = mysql_query("SELECT * FROM users") or die(mysql_error());    

while ($row = mysql_fetch_array($sql))...

$sql という名前で関数を呼び出している場合、後で $result の名前を付けることはできません。

于 2013-07-04T17:02:45.810 に答える
2

mysql_* 関数は非推奨ですが、クエリを変更できます

$sql = mysql_query("SELECT * FROM dbname.users") or die(mysql_error());
于 2013-07-04T17:03:23.907 に答える