2017-10-28 175 views
-1

我得到一個問題,我創建的程序,這樣的消息顯示顯示數據庫記錄PHP

未定義的變量:當我想上顯示數據庫記錄html_response在C:\xampp\htdocs\

我的網頁。

這是我創建的腳本:

呼叫data.php

<?php 
$mysqli= mysqli_connect('localhost','sman10bdl','xx','x10x'); 
     $kls = $_POST['kelas']; 
     $query = "SELECT * FROM data_siswa WHERE kls='$kls'"; 
     // Execute Query 
     $result = mysqli_query($mysqli,$query); 
     if (!$result) { 
     printf("Error: %s\n", mysqli_error($mysqli)); 
     exit(); 
     } 
     $noUrut = 0; 
     while($row = mysqli_fetch_array($result)){ 
       $noUrut++; 
       $nis = $row["nis"]; 
       $nisn = $row["nisn"]; 
       $nama = $row["nama"]; 
       $kls = $row["kls"]; 
       $sex = $row["sex"]; 
       $alamat = $row["alamat"]; 
       $telp = $row["hanphone"]; 

       $html_response.= "<tr> 
       <td align='center'>$noUrut</td> 
       <td align='center'>$nis</td> 
       <td align='center'>$nisn</td> 
       <td align='left'>$nama</td> 
       <td align='center'>$sex</td> 
       <td align='center'>$alamat</td> 
       <td align='center'>$telp</td> 
       </tr>"; 
      } 
     echo $html_response; 
?> 

我希望任何機構可以給我的解決方案。非常感謝。

+0

您的查詢是不安全的。使用帶有佔位符的準備好的語句。 – mickmackusa

回答

0

在添加到變量前,您尚未聲明該變量。

使用.=只附加到現有變量...它不聲明它,然後追加。

所以你的解決方案是在添加之前聲明$html_response

2

您正試圖追加到變量$html_response,但您從不定義它。這樣你只能在while循環中定義它,所以它不能在其外部訪問。

呼叫$html_response .= 'something';基本上是這個簡寫:

$html_response = $html_response . 'something'; 

這應該工作:

$html_response = ''; // initialize with empty string 

while ($row = mysqli_fetch_array($result)){ 
    // ... 
    $html_response .= "..."; 
    // ... 
} 

echo $html_response; 

我看你的「答案」在這裏與更多的解釋 - 你應該更新你的問題,不要發佈一個「答案」,不回答任何問題:]

後一個問題和以前一樣,你仍然試圖追加到不存在的VA可變結構。只需使用此代替(注意點不存在):

$html_response = "<table>"; // define variable initialized with string 
+0

只是一個評論,但你不必複製整個代碼只是添加一行 – Akintunde007

+0

是的,我知道,改進了一下。 –

+0

有些問題還不清楚,現在我得到了一個錯誤,我把這段代碼$ html_response。=「

」; $ noUrut = 0; \t \t while($ row = mysqli_fetch_array($ result)){ – Yudi