Php 错误:mysql_fetch_array()要求参数1为资源,给定布尔值
我正在制作一个类似论坛的页面。我需要节和子节和线程。 这是我的密码:Php 错误:mysql_fetch_array()要求参数1为资源,给定布尔值,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我正在制作一个类似论坛的页面。我需要节和子节和线程。 这是我的密码: <?php $query = "select * from sections"; $result = mysql_query($query); while ($name = mysql_fetch_array($result)) { echo '<div class="title">'.$name["Name"].'</div>'; #$qu
<?php
$query = "select * from sections";
$result = mysql_query($query);
while ($name = mysql_fetch_array($result)) {
echo '<div class="title">'.$name["Name"].'</div>';
#$queryr = ;
#$resultr = ;
while ($resultre = mysql_fetch_array(mysql_query("SELECT * FROM sub-sections"))) {
if ($resltre['idLinkedTo'] == $name['ID'])
{
echo '<div class="box"><a href="showSection.php?id='. $resultre['ID'] .'">'. $resultre['Name'] .'</a>';
echo '####</div> </br>';
}
}
}
?>
问题:
警告:mysql_fetch_数组期望参数1是资源,布尔值在第35行的D:----中给出
如何修复此错误?好的,在出现问题之前 你的表名,MySQL表示你想在这里做数学运算
SELECT * FROM sub-sections
^ it has a special meaning
这就转化为负小节
在表名周围使用记号
SELECT * FROM `sub-sections` ...
然后在$resltre中输入一个拼写错误,该错误应读作$resultre
您还可以接受SQL注入。使用事先准备好的陈述:
确保您确实使用了与查询相同的MySQL API
不同的API不会混合使用。从连接到查询使用同一个
然而,mysql并不受欢迎。最好你搬到mysqli_uuu或PDO
错误检查:
添加到文件的顶部,这将有助于查找错误
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:显示错误只能在暂存中进行,而不能在生产中进行
还可以向mysql\u查询添加或删除mysql\u错误
参考资料:
首先,这是一个输入错误,然后这也是子部分——你不想让MySQL做数学,对吧?你的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第1行中使用近'-sections'的正确语法,这意味着什么?我理解一个被严重否决的问题背后的概念。然而,鉴于我面前的答案,我觉得我有责任提交这份报告。非常感谢你的帮助@基南加诺:不客气,干杯,很高兴能帮上忙。