2011-11-02 124 views
0

我似乎遇到了我的PHP代碼的麻煩。我已經使用phpMyAdmin構建了查詢,它在哪裏工作沒有任何問題。但是,一旦我將sql查詢插入到這個php代碼中,它似乎根本不起作用。PHP解析和MySQL查詢錯誤

<?php 
define('dbname',"dbname"); 
define('dbusername',"dbusername"); 
define('dbpass',"pass"); 
define('dbhost','10.10.10.1'); 

mysql_connect(dbhost,dbusername,dbpass); 

    echo "Connected to MySQL<br>"; 

    mysql_select_db(dbname); 

    echo "Connected to Database<br>"; 

$q=mysql_query("SELECT * FROM tube WHERE code = B"); 

while($row=mysql_fetch_assoc($sql)) 
     $output[]=$row; 

print(json_encode($output)); 

mysql_close(); 

?> 

當我嘗試使用我的網絡瀏覽器執行php腳本時,我總是收到以下錯誤消息。

HTTP錯誤500(內部服務器錯誤):服務器試圖完成請求時遇到意外情況。

任何關於編碼的幫助都會有所幫助。另外,如果主鍵有什麼不同,那麼主鍵是否設置爲自動增量?

感謝

+0

這將由於您的腳本而不是查詢本身。 500錯誤代碼非常意味着無法加載頁面。由於你的連接顯然是本地開發,我會開始在那裏檢查,以確保你甚至可以與數據庫進行通信。 –

+0

你最好打賭是看看Apache日誌,看看裏面是否有更多的信息。 – hafichuk

+0

mysql擴展已過時,正在棄用。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。除非您正在編寫數據庫管理程序,否則請勿使用['SELECT *'](http://stackoverflow.com/questions/321299/);只選擇你需要的列。 – outis

回答

0

有作爲sql_query沒有這樣的功能,你的意思是mysql_query。你在循環中也使用了兩個不同的變量。