php
  • mysql
  • 2012-11-12 86 views -2 likes 
    -2
    A)$getDetails = mysql_query("SELECT * FROM `OnlineRequests` WHERE `OSR_CODE`='".$code."'"); 
    
    B)$getDetails = mysql_query("SELECT * FROM `OnlineRequests` WHERE `OSR_CODE`='oooqhqxrcglm3jn6xd2lseq43nb3cq'");  
    

    這是PHP。 B工作但A不。爲什麼?語法錯誤?我覺得我已經嘗試了一切可能的...使用PHP變量的MySQL查詢

    +0

    拋出的錯誤是什麼? –

    +0

    缺少數據庫轉義?你檢查過mysql_error()嗎? – mario

    +0

    沒有錯誤拋出! – Ishikawa

    回答

    0

    當我做MySQL查詢我不使用OSR_CODE=".$random_variable." 我使用OSR_CODE='$random_variable'所以只是用引號括住它與容納引號相反,看看是否有效。只是一個建議,爲我工作。

    編輯: 嘗試$getDetails = mysql_query("SELECT * FROM OnlineRequests WHERE OSR_CODE ='.$code.'");

    +0

    謝謝,但不工作... – Ishikawa

    +1

    通常情況下,這是明顯的東西,這種東西總是發生在我身上。檢查變量名稱,檢查進入變量的所有內容。還嘗試打開一些錯誤報告。 – NardCake

    +0

    負面編輯 – Ishikawa

    -1

    做一個工作,使用

    $getDetails = mysql_query("SELECT * FROM `OnlineRequests` WHERE `OSR_CODE`=\"$code\""); 
    

    的問題是單引號。

    +0

    不,單引號用於SQL字符串。 MySQL也支持雙引號,但前提是它運行在非ansi模式下。 – mario

    +0

    我認爲應該有效。因爲單引號,$ code的值不會被替換。 –

    +0

    不會做詭計 – Ishikawa

    相關問題