2012-07-11 84 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

相关问题