SQL文の内容 - PHPプロ!Q&A掲示板

2767

  • 0P

SQL文の内容

質問日時 / 2010年6月17日 22:59    回答数 / 2件

Questioner:  boo_cat  このエントリーをはてなブックマークに追加 

キーワード / PHP   

  1. <?php  
  2. $sql = "SELECT pass,mail,serNo FROM users where users ='".$mail."'" AND pass '='"'".$pass."'"AND serNo'='"'".$serNo."'";,  .mysql_real_escape_string($mail),
  3.    mysql_real_escape_string($pass),
  4.    mysql_real_escape_string($serNo)"'";
  5. ?>
携帯サイトで、本登録画面で重複チェック+問題なければDB登録の処理を行いたいのですが、SQL文にエラーがでるみたいで、
where users =~の書き方が間違ってると思うのですが、もっときれいな書き方などご指導頂けたら・・・・お願いいたします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01shimixSQL文のエラー内容はMySQLが返してくるエラーメッセー
 ┗A01-1boo_cat先ほどは大変失礼しました! shimixさんはすばらしい

回答一覧

並び替え:

A01
answerershimix [6月18日 00:36] (最終編集:6月18日 00:42)

SQL文のエラー内容はMySQLが返してくるエラーメッセージを読めば「このあたりがヘンですよ」というのが書かれていると思います。

それ以前に、$sqlの内容を表示させるなどして正しい(想定した)SQL文になっているかどうか確認されていますか?いや(さらに)それ以前に、構文として滅茶苦茶過ぎませんかね。phpの構文エラーは出てませんか?それとも転記時のtypoなんでしょうか?

こう書きたかった(あるいは本当はこう書いている)のかな?と推測しますけど・・

  1. $sql = sprintf(
  2.  "SELECT * FROM users where (mail = '%s')AND(pass = '%s')AND(serNo = '%s')",
  3.  mysql_real_escape_string($mail),
  4.  mysql_real_escape_string($pass),
  5.  mysql_real_escape_string($serNo)
  6.  );

#書き方はマニュアルのサンプル丸写しですけど(汗

  http://jp.php.net/manual/ja/function.mysql-real-escape-string.php

つまりはRTFMってことで。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerboo_cat [6月18日 15:15]

先ほどは大変失礼しました!
shimixさんはすばらしいです!

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
負荷時のmysql_connect()エラー
 このエントリーをはてなブックマークに追加 
A
これはPHPというよりOSまたはMySQLのコミュニティで質問されたほうがいいと思います。 ぱっと思いついた範囲で記すと MySQL等のDBに「ある時点において同時に接続可能なクライアントの最大数」に制限があるよう...

>>続きを読む

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)