• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:検索結果件数を取りたいです。)

DBのテーブルから対象件数を取得する方法とエラーの対処法

このQ&Aのポイント
  • php + mysqlを使用してDBのテーブルから対象件数を取得する方法を教えてください
  • エラーが発生している理由は英文字列をクエリに含める際のエスケープ処理が抜けているためです
  • エスケープ処理を追加し、クエリ内の英文字列をシングルクォーテーションで囲むことで正しく動作するはずです

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

列urlの型は何でしょうか? 単に「文字列を引用符で括っていない」のが原因では?数字のみの場合整数で引き渡しても(本来は引用符で括るべきだけど)MySQL側で型を合わせてくれているだけではないでしょうか。 そもそもSQL文としておかしいか、実行時に型が違う(なので強制的に合わせている)のかの違いだけだと思いますけどね。 $sql = sprintf("select * from geturl where url='%s'", mysql_real_escape_string($obj));

anan19
質問者

お礼

文字列型です。 頂いた下記の処理を加えたら意図する処理が実行できました! $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などで出力して確認すればわかりやすいと思います。

anan19
質問者

お礼

その確認必要ですね! echo で確認しました。 意図する文法は出力されてました。 アドバイスありがとうございます。

関連するQ&A

専門家に質問してみよう