执行mysqli fetch以显示网页的标题和标题时发生错误

时间:2015-03-06 08:51:44

标签: php mysql mysqli fetch

我现在正在构建一个网站,我已将每个网页的标题和标题放在phpMyAdmin中,但有两个错误

  

警告:mysqli_fetch_assoc()要求参数1为mysqli_result,第9行/home/ohpahcbk/public_html/functions/data.php中给出布尔值

     

致命错误:无法在第12行的/home/ohpahcbk/public_html/functions/data.php中重新声明data_page()(之前在/home/ohpahcbk/public_html/functions/data.php:3中声明)

我尝试从数据库中获取它们时发生

。我是php的绿色手,所以我的问题看似简单,希望得到你的理解。

所以这是我用来从数据库中获取数据的函数:`

function data_page($dbc, $id) {

    #Page Setup
    $q = "SELECT * FROM pages WHERE id = $id";
    $r = mysqli_query($dbc, $q);

    $data = mysqli_fetch_assoc($r);

    return $data;
    }

    ?>

我使用另一个文件来获取特定页面的标题和标题,以下是它的部分:

<?php 
include('functions/data.php');
$page = data_page($dbc, $id);
$home_page = data_page($dbc, 1);
$tutorials = data_page($dbc, 2);
?>

在网页文件中,我使用<?php echo $tutorials['title']; ?>来获取标题和标题。

2 个答案:

答案 0 :(得分:0)

第一个警告告诉您数据库查询以某种方式失败,我假设您的数据库连接正常。然后检查$ id的值。它是整数吗?如果不是,请用单引号引用它,如

id = '$id'

对于第二个致命错误,您正在重新声明data_page函数。检查您是否使用了多个&#34; include(&#39; functions / data.php&#39;)&#34;在你的脚本中。如果有的话,只需删除脚本中只剩下一个的所有那些。

答案 1 :(得分:0)

首先测试您的连接

$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()){
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

如果你连接了,你的第一个错误让我相信mysql查询通过布尔返回产生错误

尝试

$q = "SELECT * FROM pages WHERE id = '$id'";

我记得我遇到过将php变量作为mysql查询中的字符串出现的问题

如果这不起作用,请尝试对查询进行编码并查看返回的内容。它至少会让你指向正确的方向。