2014-02-12 149 views
0

此代碼應提供表格貓的表格。但是,它顯示一個空白頁面。看起來查詢部分不起作用。它不能去'var_dump($results)'。但是,我可以使用已經評論的代碼創建表格。那麼問題是什麼?爲什麼我的php不顯示任何內容? (代碼包含在內)

<?php 
require_once "login.php"; 
$db_server = mysql_connect($db_hostname, $db_username, $db_password); 
if(!$db_server) 
    die("Unable to connect: ".mysql_error()); 
mysql_select_db($db_database, $db_server) or die("Unable to select a db: ".mysql_error()); 
/* 
$query = "CREATE TABLE cats 
(
    id SMALLINT NOT NULL AUTO_INCREMENT, 
    family VARCHAR(32) NOT NULL, 
    name VARCHAR(32) NOT NULL, 
    age TINYINT NOT NULL, 
    PRIMARY KEY (id) 
)"; 

mysql_query($query) or die("Create cats DB failed: ".mysql_error()); 
*/ 

$query = "DESCRIBE cats"; 
$results = mysql_query($query) 

var_dump($results); 

if(!$results) 
    die("Error-line22: ".mysql_error()); 
else 
    echo $results."<br />"; 

$rows = mysql_num_rows($results); 

echo "<table>"; 
echo " 
<tr> <th>Column</th> <th>Type</th> <th>NULL</th> <th>Key</th> </tr>"; 

for ($j = 0; $j < $rows; ++$j) 
{ 
    $row = mysql_fetch_row($results); 
    echo "<tr>"; 
    for ($k = 0; $k < 4; ++$k) 
     echo "<td>$row[$k]</td>"; 
    echo "</tr>"; 
} 

echo "</table>"; 

mysql_close($db_server); 
?> 
+0

在最糟糕的情況下,只是嘗試註釋塊,看看你是否可以完成並輸出_something_。然後通過加回位來找出導致問題的原因。 – Krease

+0

更好的是,從命令行運行'php -l/path/to/your/file.php'並查看它是否有語法錯誤。 – dave

回答

2

mysql_query()行缺少';'在最後:

$query = "DESCRIBE cats"; 
$results = mysql_query($query); 

var_dump($results); 
+0

很好。謝謝。但我該如何調試呢?我剛開始學習php。但是,我找不到一個好的調試器。只是爲了這個錯誤。沒有輸出任何東西,很難找到? – tqjustc

+1

如果可以,請打開Web服務器上的錯誤/警告通知。這些類型的語法問題通常記錄爲「意外的T_STRING」錯誤。另外,大多數IDE應該有某種形式的語法高亮顯示語法錯誤 - 我傾向於在工作中使用Netbeans或Eclipse,但有很多選擇。 – Melkior

相關問題