- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:検索結果件数を取りたいです。)
DBのテーブルから対象件数を取得する方法とエラーの対処法
このQ&Aのポイント
- php + mysqlを使用してDBのテーブルから対象件数を取得する方法を教えてください
- エラーが発生している理由は英文字列をクエリに含める際のエスケープ処理が抜けているためです
- エスケープ処理を追加し、クエリ内の英文字列をシングルクォーテーションで囲むことで正しく動作するはずです
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
列urlの型は何でしょうか? 単に「文字列を引用符で括っていない」のが原因では?数字のみの場合整数で引き渡しても(本来は引用符で括るべきだけど)MySQL側で型を合わせてくれているだけではないでしょうか。 そもそもSQL文としておかしいか、実行時に型が違う(なので強制的に合わせている)のかの違いだけだと思いますけどね。 $sql = sprintf("select * from geturl where url='%s'", mysql_real_escape_string($obj));
その他の回答 (1)
- go5miro
- ベストアンサー率75% (3/4)
回答No.1
おそらく、MySQLにてシンタックスエラーが発生しているのではないでしょうか? SQL内で文字列を使う場合、シングルクオートか、ダブルクオートで囲む必要があります。 数値 123 で結果が取得できたのは、そういう事だと思います、 一度$sqlをechoなどで出力して確認すればわかりやすいと思います。
質問者
お礼
その確認必要ですね! echo で確認しました。 意図する文法は出力されてました。 アドバイスありがとうございます。
お礼
文字列型です。 頂いた下記の処理を加えたら意図する処理が実行できました! $sql = sprintf("select * from geturl where url='%s'", mysql_real_escape_string($obj)); アドバイスありがとうございます。