Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP显示但不获取数据库字段时无错误_Php_Mysql - Fatal编程技术网

PHP显示但不获取数据库字段时无错误

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

我的数据库字段未填充,但页面正在确认它存在。因此,第一个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 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