PHP显示但不获取数据库字段时无错误
我的数据库字段未填充,但页面正在确认它存在。因此,第一个SQL正在工作,但第二个SQL没有提取信息。如果我把这页签出来。它找不到该页面并重定向到未找到的页面。我这样做对吗?我做错了什么PHP显示但不获取数据库字段时无错误,php,mysql,Php,Mysql,我的数据库字段未填充,但页面正在确认它存在。因此,第一个SQL正在工作,但第二个SQL没有提取信息。如果我把这页签出来。它找不到该页面并重定向到未找到的页面。我这样做对吗?我做错了什么 //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
//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);
//获取页面url和查询数据库
$this_page=$_GET['page'];
$this_page=escape_data($_GET['page']);
//确保页面存在
$SQL\u page\u exist=“从了解更多信息中选择页面标题,其中页面标题='$this\u page';
$SPE\u result=mysql\u查询($SQL\u page\u exist);
if(mysql_num_rows($SPE_result)==0)
{
回声';
}
否则{
$SQL=
“选择*作为lm从了解更多信息
内部连接了解\u更多\u到\u参考\u键作为lmtrk
关于lm.id=lmtrk.learn\u more\u id
内部连接参考键作为rk
在rk.keys\U id=lmtrk.reference\U key\U id上
其中页面标题=“$this页面”;
$result=mysql\u查询($SQL);
而($db_field=mysql_fetch_assoc($result));
{
$id=$db_字段['id'];
$main_title=$db_字段['main_title'];
$main_content=$db_字段['main_content'];
$reference_keys=$db_字段['keys_href'];
$sub_title=$db_字段['sub_title'];
$sub_content=$db_字段['sub_content'];
}
}
mysql_close($dbc);
您应该删除while语句后的分号,因为它不会执行以下附件(这意味着您的查询很好,但while语句无效)
另外,我不确定,但声明:
$id = $db_field['ID'];
如果mysql字段为“id”(小写),则可能会生成错误。虽然MySQL(通常)不区分大小写,但php数组键是区分大小写的,因此该键可能只能作为“id”而不是“id”使用……您应该删除While语句后的分号,因为它不会执行以下附件(这意味着您的查询很好,但While语句无效) 另外,我不确定,但声明:
$id = $db_field['ID'];
如果mysql字段为“id”(小写),则可能会生成错误。虽然MySQL(通常)不区分大小写,但php数组键是区分大小写的,因此该键可能仅作为“id”而不是“id”可用……结果表明,关系数据库表中的一个空字段(仅1个黑字段)设置为NOTNULL导致了此未定义的中断错误。。在除主页以外的所有页面上
感谢所有试图帮助我的人。结果表明,关系数据库表中设置为NOTNULL的空字段(只有1个黑字段)导致了此未定义的中断错误。。在除主页以外的所有页面上
感谢所有试图帮助我的人。您是否尝试直接在数据库中运行该查询以查看返回的内容?由于没有错误检查,因此没有错误!它工作得很好。突然,现在我回到了我的脚本之前,做的SQL_页_存在,现在它不工作,因为它没有像以前那样。WTH?$result=mysql\u query($SQL)或die(mysql\u error());它说了什么?你真的输出了你在最后一节中获取的数据吗?我看到一个获取循环,但没有输出。您是否尝试直接在数据库中运行该查询以查看它返回的内容?没有错误,因为没有错误检查!它工作得很好。突然,现在我回到了我的脚本之前,做的SQL_页_存在,现在它不工作,因为它没有像以前那样。WTH?$result=mysql\u query($SQL)或die(mysql\u error());它说了什么?你真的输出了你在最后一节中获取的数据吗?我看到一个获取循环,但没有输出。没有骰子。。。仍然只在第一页填充数据库信息。DB def在其他页面上有信息……但是上面的查询在SQL命令行执行时会返回数据吗?如果是这样,请检查“this_page”的精确值,可能会像
echo“[$this_page]”那样打印出来,以便在不知何故添加时可以看到任何有问题的空白或其他问题。正确打印。没有空格或其他字符。该行DB中的所有值均已填充(无空列)页面名称拼写正确无空格或特殊字符。。奇怪的是,第一页工作正常,但后续页有未定义的错误。这是这一行吗?`$id=$db_字段['id'];`--应该是$db_字段['id']吗?我知道MySQL通常不区分大小写,但数组键是哇好的,我不知道这个ID是如何改变大小写的。。。这真让我震惊。。。但是它仍然不起作用。。。相同错误未定义变量..没有骰子。。。仍然只在第一页填充数据库信息。DB def在其他页面上有信息……但是上面的查询在SQL命令行执行时会返回数据吗?如果是这样,请检查“this_page”的精确值,可能会像echo“[$this_page]”那样打印出来,以便在不知何故添加时可以看到任何有问题的空白或其他问题。正确打印。没有空格或其他字符。该行DB中的所有值均已填充(无空列)页面名称拼写正确无空格或特殊字符。。奇怪的是,第一页工作正常,但后续页有未定义的错误。这是这一行吗?`$id=$db_字段['id'];`--应该是$db_字段['id']吗?我知道MySQL通常不区分大小写,但数组键是哇好的,我不知道这个ID是如何改变大小写的。。。这真让我震惊。。。但是它仍然不起作用。。。相同错误未定义变量..是的,谢谢Kasapo的帮助。。查看我的新问题->lolyeah谢谢Kasapo的帮助。。查看我的新问题->lol