2016-05-08 91 views
0

我最近發佈但我不認爲我解釋得很好。注意:未定義的變量...變量聲明錯誤

我有一個頁面的產品頁面的網址是例如http:....... rest_id = 3/area ='Enfield'。我一直在使用類似的查詢在整個我的網站,但這個不工作,即使它提前了約2分鐘。

我正在使用GET語句來獲取URL中的區域名稱,然後從那裏使用區域名稱從數據庫中獲取正確的數據,例如電話號碼,Twitter和Facebook句柄。但沒有任何顯示。

我有錯誤處理程序,我唯一的錯誤是注意:Undefined variable:twit in ...對於所有3個變量,即使它們已被聲明。

任何想法可能會發生這種情況。

if (isset($_GET['area'])) { 
        $franc_dets = $_GET['area']; 
        $get_franc_d = "SELECT * FROM Franc_dets WHERE Fran_City = '$franc_dets'"; 
        mysqli_stmt_execute($run_get_franc_d); 
        $iii = 1; 

        while ($row_get_fram = mysqli_fetch_array($run_get_franc_d)) { 
         $fran_phone = $row_get_fram['Fran_Contact_Num']; 
         $twit = $row_get_fram['Twitter']; 
         $iii++; 

HTML

...... 
    <td class='phn_dets'> 
         <p id='phn_title'>Problems ordering?</p> 
         <p id='phn_numb'><?php echo $fran_phone ?></p> 
        </td> 
        <td class='collapse'> 
         <img src='./Images/franc_dets_twitter.png' height='50' width='50' alt='Twitter logo'>  
        </td> 


        <td class='twitter_dets'> 
         <p id='sm_title'>Social media</p> 
         <a id='sm_twit' href='https://twitter.com/<?php echo $twit ?>'>@<?php echo $twit ?></a> 
        </td> 

        <td class='collapse'> 
        <img src='./Images/franc_dets_fb.png' height='50' width='50' alt='Facebook logo' >  
        </td> 
        <td class='fb_dets'> 

       <a id='sm_fb' href='https://www.facebook.com/<?php echo $fb; ?>'><?php echo $fb; ?></a> 
+0

中的示例您是否嘗試過使用'mysqli_fetch_assoc'而不是'mysqli_fetch_array'? – evsar3

+0

@ evsar3是的,我有,不幸的是結果沒有什麼不同 – Monroe

+0

當你在while循環中使用'var_dump($ twit);'時發生了什麼? – enhzflep

回答

3

您聲明while循環內$強烈抵制。如果你的查詢沒有返回結果,那麼$ twit永遠不會被定義,因此你看到的通知。在你的情況我看到2個原因,你會得到任何結果即使是在你的DB數據:

  1. 有報價在您的網址,並在你的查詢,從而衝突,使查詢失敗。
  2. 您將您的查詢放在mysqli_stmt_execute()中,該查詢需要一個Mysqli語句,而不是一個字符串。你必須在mysqli_prepare()中傳遞你的查詢。然後把結果mysqli_stmt_execute()

確保正確處理這種情況不返回任何結果的情況下,它可以很簡單,給予一個默認值$蠢while循環外,或者告訴用戶有沒有結果。

此外,您在查詢中放置變量的方式會使您的網站容易受到SQL injection的影響。我建議你閱讀這個主題。使用佔位符準備好的查詢。請參閱PHP manual