簡體   English   中英

為什么此PHP PDO Mysql代碼不起作用?

[英]Why this PHP PDO Mysql code not working?

我使用了Like運算符並傳遞了所有參數,但是以下代碼仍無法正常工作:

public function get_locations($lang, $suggest){
        $this->lang = $lang;
        $this->suggest = $suggest;
        $sql = "SELECT l.location_id, l.location_name_col 
                FROM test_db.location_translations as l
                WHERE l.location_name_col like LIKE :suggest
                AND   l.language_code = :lang
                ";

         $params = array(':suggest'=>"%".$this->suggest."%", ':lang'=> $this->lang);

        $stmt = $this->conn->prepare($sql);            
        $stmt->execute($params);
    }

我得到以下錯誤:

消息“ SQLSTATE [42000]:PDOException”:語法錯誤或訪問沖突:1064您的SQL語法有錯誤; 檢查與您的MariaDB服務器版本相對應的手冊以獲取正確的語法,以在第3行的'LIKE'%A%'AND l.language_code ='en'附近使用

請幫我。

仔細查看您的錯誤代碼,問題與“ LIKE”參數有關,我發現您使用的是“ like”和“ LIKE”。 我認為它應該像這樣:

$ sql =“ SELECT l.location_id,l.location_name_col從test_db.location_translations作為l WHERE l.location_name_col LIKE:建議AND l.language_code =:lang”;

如果使用上述代碼再次運行該怎么辦?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM