2016-07-04 2 views
0

私のプログラムでは、値= 2 Robinson's Manilaのすべてのモールを数えたいと思っています。しかし、アポストロフィーはプログラムによってテキストの終了マークとして認識されるため、エラーが発生します。MySQL/PHPエラー:アポストロフィ( ')付きの値を入力してください

は、ここでその特定の機能のために私のコードです:

<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="GET"> 
     <select name="formStats"> 
      <option value="Rob">Robinson's Manila Stores</option> 
      <option value="MoA">Mall of Asia Stores</option> 
      <option value="GG">Greenbelt/Glorietta Stores</option> 
     </select> 

     <input type="submit" name="formSubmit" value="Submit"/> 
    </form> 

    switch ($varStats) 
    { 
     case "Rob": $show = "Mall = '2 Robinson's Manila'"; break; 
     case "MoA": $show = "Mall = '3 Mall of Asia'"; break; 
     case "GG": $show = "Mall = '1 Glorietta/Greenbelt Complex '"; break; 
    } 

私は `マークを使用する必要があると思うが、私は正確な構文とわかりません。

+0

準備文について学ぶ – Jens

+0

[PHPでSQLインジェクションを防止するにはどうすればいいですか?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php) – Jocelyn

答えて

1

問題は、switch caseの$ show変数への代入におけるアポストロフィ "Robinson's"です。 "Robinson \ 's"を書くとエスケープする

+0

それは働いた。ありがとう。 – lexus

+0

それは働いた、してください、あなたの質問のための解決策として私の答えを設定してください:)多くのありがとう! – ddb

1

mysqli_real_escape_string()機能を使用すると、SQL文で使用する文字列内の特殊文字をエスケープできます。