2014-12-28 77 views
-1

我有一個問題,我的SQL請求可能是一個合成器問題,你能看嗎?看到行:SQL格式不起作用

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

我認爲「從」和「哪裏...」不好,什麼是確切的合成詞?

+0

您應該添加這個SQL字符串的調試輸出。 – akohout

+0

requestUrl必須被引用。但是你不想使用字符串插值,而是準備了語句。 – Gordon

+0

將查詢寫入一個PHP變量和'echo()'它。你將能夠自己找到問題。如果它們仍然不明顯,那麼將查詢粘貼到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