2016-07-04 4 views
0

Итак, у меня есть эта особенность в моей программе, в которой я хочу, чтобы она подсчитала все торговые центры со значением = 2 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

Возможный дубликат [Как предотвратить SQL-инъекцию в PHP?] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php) – Jocelyn

ответ

1

проблема заключается в апострофе «Робинсона» при присвоении переменной $ show в случае коммутатора. Вам следует избегать написания «Robinson»

+0

Это сработало. Благодарю. – lexus

+0

это сработало, пожалуйста, задайте мой ответ как решение для вашего вопроса :) Большое спасибо! – ddb

1

Вы можете использовать функцию mysqli_real_escape_string() для экранирования специальных символов в строке для использования в инструкции SQL.

Смежные вопросы