2012-07-11 89 views
1

我的數據庫字段不填充但頁面確認它的存在。所以第一個SQL正在工作,但第二個並沒有拉動信息。如果我把頁面簽出。它找不到頁面並重定向到page_not_found。我正確地處理這個問題嗎?我在這裏做錯了什麼?PHP沒有錯誤顯示,但沒有得到數據庫字段

//get page url and query db 
$this_page = $_GET['page']; 
$this_page = escape_data($_GET['page']); 

//Make sure page exist 
$SQL_page_exist = "SELECT page_title FROM learn_more WHERE page_title = '$this_page'"; 
$SPE_result = mysql_query($SQL_page_exist); 
if(mysql_num_rows($SPE_result) == 0) 
{ 
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL=page_not_found.php">'; 
} 
else { 

$SQL = 
    "SELECT * FROM learn_more AS lm 

INNER JOIN learn_more_to_reference_key AS lmtrk 
     ON lm.id = lmtrk.learn_more_id 

INNER JOIN reference_keys AS rk 
     ON rk.keys_id = lmtrk.reference_key_id 

    WHERE page_title = '$this_page'"; 

$result = mysql_query($SQL); 

while ($db_field = mysql_fetch_assoc($result)); 
{ 
     $id    =  $db_field['ID']; 
     $main_title  =  $db_field['main_title']; 
     $main_content  =  $db_field['main_content']; 
     $reference_keys =  $db_field['keys_href']; 
     $sub_title  =  $db_field['sub_title']; 
     $sub_content  =  $db_field['sub_content']; 
} 
} 
mysql_close($dbc); 
+0

您是否嘗試過直接運行該查詢數據庫,看看它返回? – andrewsi 2012-07-11 19:43:49

+2

由於沒有錯誤檢查而沒有錯誤! – 2012-07-11 19:46:19

+0

它工作正常。突然間,現在我在做SQL_page_exist之前恢復了我的腳本,現在它不像以前那樣工作。 WTH? – fyz 2012-07-11 19:47:53

回答

0

原來,從空字段關係數據庫表(只有1黑場)設置爲非空導致這個未定義的中斷錯誤..除了主頁上的所有頁..

謝謝所有的人誰試圖幫助我。

+0

Awwww shazz。沒有考慮到...... – Kasapo 2012-07-11 21:34:23

+0

是謝謝卡薩波你的幫助..檢查出我的新問題 - > http:// stackoverflow。com/questions/11441631/php-get-all-matching-rows-in-relational-mysql-innodb-database lol – fyz 2012-07-11 21:36:04

1

您應該將while語句後刪除分號,因爲它不會執行下面的外殼(這意味着你的查詢是好的,但同時聲明是無效的)。

而且,我不知道,但聲明:如果MySQL字段是「身份證」(小寫)

$id  =  $db_field['ID']; 

可能會產生一個錯誤。雖然MySQL是不(通常)區分大小寫,PHP數組鍵,所以它可能是關鍵是僅可作爲「ID」,而不是「ID」 ...

+0

沒有骰子...仍然只在第一頁上填充數據庫信息。 DB def在其他頁面上有信息...... – fyz 2012-07-11 19:54:08

+0

但是上面的查詢在SQL命令行執行時會返回數據嗎?如果是這樣,請檢查「this_page」的精確值,可能會將其打印出來,例如「echo」[$ this_page]「'',這樣您就可以看到任何有問題的空白或其他問題,以防以某種方式添加它們。 – Kasapo 2012-07-11 19:55:10

+0

正確打印。沒有空白或其他字符。在DB該行的所有值都充滿(沒有空的cols)的拼寫是否正確在頁面名稱中沒有空格或特殊字符..奇怪的是,第一頁正常工作,但隨後的網頁有不確定的錯誤 – fyz 2012-07-11 19:59:37

相關問題