PHP: невозможно передать одиночную кавычку в mysqli query

Я боролся часами с этим просто:

$var=var; $result = "SELECT column1, column2 FROM $db WHERE column3 = '$var' "; 

Ошибка, которую я получаю: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '\' var \ '' в строке 1

Имена верны, он работает в запросе mysql. Думаю, я пробовал все возможные варианты цитирования, что не так?

UPDATE: по запросу я использовал экранирование, но ошибка остается той же

 $var=var; $var = $conn->real_escape_string($var); $result = "SELECT column1, column2 FROM {$db} WHERE column3 = '{$var}' "; 

Solutions Collecting From Web of "PHP: невозможно передать одиночную кавычку в mysqli query"

Должно быть

 $var = $mysqli->real_escape_string($var); $sql = "SELECT column1, column2 FROM {$db} WHERE column3 = '{$var}' "; 

Вместо:

 $result = "SELECT column1, column2 FROM $db WHERE column3 = '$var' "; $result = $mysqli->real_escape_string($result) ; //Totally wrong. 

Я тестировал в консоли mysql с плохим SQL-запросом:

  mysql> SELECT column1, column2 FROM WHERE column3 = 'varvalue'; 

Он дает эту ошибку:

 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE column3 = 'varvalue'' at line 1 

Фактически имя таблицы отсутствует. Я предполагаю, что ваша переменная $ db может быть нулевой / пустой / unset.

Пожалуйста попробуйте :

 $db = "mytable"; $var = "varvalue"; $result = "SELECT column1, column2 FROM $db WHERE column3 = '$var' ";