2014-03-27 44 views
0

我是新來的SQL和我試圖讓這個查詢工作:錯誤:未知的標點符號字符串

function loadArrayFromQuery($query) { 
     $result = $this->executeQuery($query); 
     $return = array(); 
     while ($rows = mysqli_fetch_assoc($result)) { 
      $return[] = $rows; 
      mysql_error(); 
     } 
     return $return; 
    } 

但是我得到以下錯誤:

ERROR: Unknown Punctuation String @ 56 
STR: -> 

#1064 - 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 'function loadArrayFromQuery($query) { 
     $result = $this->executeQuery($query)' at line 1 

感謝

+0

你通過'$ query'傳遞了什麼? –

+0

PS。爲什麼在MySQLi調用中使用'mysql_error()'?爲什麼在循環內部?什麼是'executeQuery()'? –

+0

@RocketHazmat:SQL錯誤消息(以及一些經驗)的檢查表明他試圖將整個PHP函數代碼作爲查詢來傳遞。該PHP代碼的實際有效性完全沒有實際意義,因此。然而,你是正確的,即使在那裏,也存在多個錯誤。 –

回答

6

您目前正在嘗試執行PHP代碼作爲SQL查詢。

不幸的是:

  • PHP不是SQL;
  • SQL不是PHP。

如果這是一個意外,而不是一個誤會,檢查在一些字符串上漲PHP代碼末尾缺少'"字符,你可能不小心被納入代碼爲建成一個字符串查詢。

你真的沒有提供足夠的信息來進一步說出什麼;除非要求,即如果您要求SQL問題,請發佈SQL查詢,而不是PHP代碼。你應該花一些時間,從你使用在你的項目,這三個或四個技術提取了問題的癥結所在,讓你問我們大約只有一個