アプリ版:「スタンプのみでお礼する」機能のリリースについて

次のmysql文を実行しているのですが、no database selectedと出てしまいます。
データベースのデータはphpmyadminを利用しています(添付画像参照)

データベース名をzから始まるサーバー名のようなものを除いたものにしても
ダメです。アドバイスいただけませんでしょうか。
(下の分の前後にはサーバーへの接続と切断のリクエストが入り、どちらも
無事接続、切断されています)

mysql_select_db("z****_data1");

$re=mysql_query("SELECT * FROM simple_board ORDER BY bang");
echo mysql_error($s);

while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print " : ";
print $kekka[1];
print " : ";
print $kekka[2];
print "<br />";
}

「データベースの選択エラー」の質問画像

A 回答 (1件)

mysqlでは、データベース名に 「_」アンダースコアがあると、ワイルドカード扱いになるので、アンダースコアの手前に「\」バックスラッシュをいれてエスケープが必要です。


ワイルドカードにより同時に複数のデータベースを開こうとしていることになるので、mysql_select_db はエラーになってると思うのですけど。
mysql_select_dbの直後でも mysql_error() の出力をチェックしてみてください。

この回答への補足

mysql_select_dbのあとにmysql_error()を付けると

「Access denied for user 'z****'@'****(IPアドレス?)' to database 'z****_data1'」

とでてきます。またアンダーバーにバックスラッシュを付けると

「Incorrect database name 'z*****\_data1'」となりうまくいかなくなってしまいます

どうすればいいでしょうか……

ID、Pass、サーバー名が正しくないとこのエラーが出ると言う情報もあります。
サーバーのmysql(phpmyadminですが)へは、このIDとPASSでアクセスできているので
正しいはずです。

宜しくお願いします。

補足日時:2012/08/23 17:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!