我现在正在构建一个网站,我已将每个网页的标题和标题放在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']; ?>
来获取标题和标题。
答案 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查询中的字符串出现的问题
如果这不起作用,请尝试对查询进行编码并查看返回的内容。它至少会让你指向正确的方向。