2014-12-28 3 views
-1

У меня проблема с моим запросом sql, вероятно, проблемой синтаксиса, можете ли вы посмотреть его? см. строку:Формат SQL не работает

$stmt = $this->pdo->prepare("SELECT " . $fields . "FROM" . $table . "WHERE link = " . $requestUrl); 

Я думаю, что «ОТ» и «ГДЕ ...» нехорошо, что такое синтакс?

+0

Вы должны добавить отладочную этого SQL строки. – akohout

+0

requestUrl должен быть указан. Но вы все равно не хотите использовать интерполяцию строк, но подготовленные операторы. – Gordon

+0

Составьте запрос в переменной PHP и 'echo()' it. Вы сами сможете найти проблемы. Если они все еще не очевидны, вставьте запрос в клиент MySQL, запустите его, играйте с ним, пока вы его не заработаете, а затем примените изменения к PHP-коду. – axiac

ответ

1

$ requestUrl должны были завернуты в одинарные кавычки и оставить соответствующие пробелы в запросе

$sql = "SELECT " . $fields . " FROM " . $table . " WHERE link = '" . $requestUrl ."'"; 
$stmt = $this->pdo->prepare($sql); 
+0

это не разрешает мою проблему, проблема в том, что synthax «FROM» «WHERE» не распознается, например sql langage, он появляется в «цвет текста» в моем редакторе, см. Мой экран: http://postimg.org/image/aqtdzz8vt/ – svartholm

+0

$ stmt = $ this-> pdo-> prepare ("SELECT $ fields FROM $ table WHERE link = '". $ requestUrl. "'"); <- Проблема решена – svartholm

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