- ベストアンサー
PHPからMySQLに接続はできるが、Sql操作ができない
PHPからMySQLを使おうとしているのですが、 SQLクエリでの操作に対する反応がなく、困っています。 mysql_select_db()でtrueが返ってきているので、 DBにはアクセス出来ているようなのですが、 mysql_query()を実行しても何も返らず、エラーも出ません。 SQLに間違いはなく、あってもエラーがでるはずだったと思うのですが… 何かお分かりのことが御座いましたら、ご協力お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 私もこの組み合わせのDBアクセスをしたことがないのですが、 恐らく、mysql_query()の返り値には、結果セットが返っている のだと思われます。 ↓のリンクでこの関数の使いかたがありました。 ttp://phpspot.net/php/man/php/function.mysql-query.html そのままでは、失敗の時False以外、データを見るなどはできないので、mysql_result()などの関数を通して、データを取得する必要 があるそうです。 $result = mysql_query('SELECT name FROM work.employee'); 一旦返された$resultがfalseではない場合以下の様にすることで データを項目毎にとりだせそうです。 $row = mysql_fetch_row($result); echo $row[0]; // nameの結果が表示 データの取り出し方は、何種類かあるようです。
その他の回答 (1)
- nick9090
- ベストアンサー率26% (102/378)
>mysql_query()を実行しても何も返らず それは当たり前でしょう。 mysql_query()は、文字通りクエリを投げる関数なんですから。 >SQLクエリでの操作に対する反応がなく 意味が分かりません。どんな反応を期待してるのか謎です。 クエリの結果がDBに反映しているかどうかは、適当なselectで調べるなり、phpmyadminなどで直接テーブルを見てみればいいと思いますけど。
お礼
ありがとうございます。 反応が無いというのは、エラーも何もでず、DBにも何も反映されないという意味です。説明不足ですみません。 ちなみにmysql_query()はselect文を投げれば結果が返ってきますよ?
お礼
ありがとうございます。 自己解決したのですが、ユーザ権限の設定が間違っており、DBにアクセスできていなかったようです。ユーザを作り直したら上手くいきました。 そもそもちゃんと調べてみるとmysql_select_dbは成功したら0を返すとのことで…… ただ疑問なのはちゃんとDB操作ができるようになったにも関わらず、今だにmysql_select_dbが1を返しているんですよね。 動きはするけど何かエラーがあるんでしょうか……