我的数据库字段没有填充,但页面确认它存在。所以第一个SQL正在运行,但第二个不是拉动信息。如果我把页面检查出来。它找不到页面并重定向到page_not_found。我正确地谈到这个吗?我在这做错了什么?
//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 :(得分:1)
您应该在while语句后删除分号,因为它不会执行以下的机箱(意味着您的查询没问题,但是while语句无效)。
另外,我不确定,但声明:
$id = $db_field['ID'];
如果mysql字段为'id'(小写),则可能会生成错误。虽然MySQL不是(通常)区分大小写,但是php数组键是,因此密钥可能仅作为'id'而不是'ID'...
答案 1 :(得分:0)
原来,关系数据库表(只有1个黑色字段)中设置为非空的空字段导致此未定义的中断错误..在除主页之外的所有页面上..
感谢所有试图帮助我的人。