2017-01-19 38 views
0

我很新的SQL,我有一個名爲「帳戶」的表。我想回復HTML表格上的所有帳戶信息,我試過這個,但它不起作用? (周圍有PHP代碼的正確標籤)SQL echo錶行錯誤?

<?php 
$query="SELECT * FROM acccounts"; 
$results = mysql_query($query); 
while ($row = mysql_fetch_array($results)) { 
    echo '<tr>'; 
    foreach($row as $field) { 
     echo '<td>' . htmlspecialchars($field) . '</td>'; 
    } 
    echo '</tr>'; 
} 

?> 
+2

SQL服務器<>的MySQL – FLICKER

+0

?我不明白 –

+0

由於簡單沒有'

'被定義... –

回答

0

幾件事情,首先,你需要使用SQL實例名,uid和passwd的字符串連接到數據庫, 其次 您的查詢應該是mysqli_query($connection, $query)

$servername = 'yourinstance\sqlexpress'; 
$conndetails = ["Database" => "databasename", "UID" => 'loginid', "PWD" =>'passwd']; 
$sqlconn = mysqli_connect($servername, $conndetails); 
$query = "Select blah blah"; 
$query2 = mysqli_query($sqlconn, $query); 

仔細檢查語法,因爲我經常把它向後沒譜,但沒有這個設置,您無法連接到數據庫,PHP 有一個在進行查詢之前請先驗證/登錄(否則任何人都可以查詢您的數據庫)

此外,您需要確保sql正在偵聽正確的端口(通常爲1433),這是通過sql manager而不是SQL瀏覽器)。

結果仍然是數組格式,所以您需要調用特定的字段名稱。在這種情況下爲 。

echo '<td>' . $field['id'] . '</td>'; 

應該工作,(這是我使用的格式)

while ($row = mysqli_fetch_array($query)) { 
    foreach ($row as $field) { 
     echo '<td>' .$field['id']. '</td>'; 
    } 
} 
+0

什麼都沒有出現,但頁面不斷重複加載? –

+0

請參閱編輯re:連接到sql實例。 不好意思在一會兒再扔更多細節。, –

+0

爲什麼你建議他們使用mysqli_來連接和查詢,然後在後面加入'mysql_fetch_array()'?這些不同的API不會互混。 –

2

我認爲這個問題是很明顯的;你要麼沒有連接到你的數據庫,要麼你的系統不允許使用mysql_ API。

或者,您嘗試連接mysqli_或其他API(未知)。如果是這樣的話;這些不同的MySQL API不會混合。

用我自己的機器上mysqli_ API產生的結果:

替換爲自己的憑據以下幾點:

<?php 
ini_set("display_startup_errors", 1); 
ini_set("display_errors", 1); 

$connect = mysqli_connect("your_host", "user", "pass", "db"); 
if (!$connect) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; 
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; 
    exit; 
} 

$query="SELECT * FROM acccounts"; 
$results = mysqli_query($connect, $query); 

if($results){ 
while ($row = mysqli_fetch_array($results)) { 
    echo '<tr>'; 
    foreach($row as $field) { 
     echo '<td>' . htmlspecialchars($field) . '</td>'; 
    } 
    echo '</tr>'; 
    } 
} 
else{ 
    echo "Your query failed: " . mysqli_error($connect); 

    } 

檢查查詢和通過PHP錯誤。

參考文獻:

注:即使沒有<table></table>標籤,它仍然會產生的結果,在一個成功的查詢。

  • 此外,這需要使用安裝並用作http://localhost而不是file:///,應該是這種情況PHP/MySQL的一個網絡服務器執行的文件。

其他參考: