这是我的脚本,它显示空白,我不知道问题是什么。救命!!!! #new to PHP
<?php include "connection.php";
// Get the ID from URL.
if(isset($_GET['id']));
$id = $_GET['id'];
$query="SELECT * FROM module WHERE id= '$id'";
$result= mysqli_query($m, $query);
while ($row = mysqli_fetch_array($result)){
$title=$row['title'];
$level=$row['level'];
$credits=$row['credits'];
$school=$row['school'];
echo $title. " " . $level. " " . $credits. "<br />";
}
?>
错误:
您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在第1行的'WHERE id ='Careers''附近使用正确的语法
答案 0 :(得分:5)
这里一个明显的问题是你已经将一个“结束语句”字符包含在分号中。
分号(如果不是拼写错误)正在这样做,“结束”声明。
if(isset($_GET['id']));
^ right there.
它应该是一个大括号{
,而不是:{/ p>
if(isset($_GET['id'])){
并且该条件语句应该有一个右括号}
。
旁注:如果GET数组有值,则分号被认为是PHP中的有效字符,不会给它带来错误。
但是,您应该检查其余代码的错误。
在打开PHP标记后立即将错误报告添加到文件的顶部
例如<?php error_reporting(E_ALL); ini_set('display_errors', 1);
然后代码的其余部分,看看它是否产生任何结果,
以及or die(mysqli_error($m))
到mysqli_query()
。
确保您确实使用MySQLi_ API连接(不同的MySQL API不混合)并且GET数组有值。
这是重写,假设使用MySQLi_ API成功建立了数据库连接。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if(isset($_GET['id'])){
$id = $_GET['id'];
} else{
echo "ID is not set. You need to investigate it.";
exit; // This will stop your script, dead in its tracks.
}
$query="SELECT * FROM module WHERE id= '$id'";
$result= mysqli_query($m, $query) or die(mysqli_error($m));
while ($row = mysqli_fetch_array($result)){
$title=$row['title'];
$level=$row['level'];
$credits=$row['credits'];
$school=$row['school'];
echo $title. " " . $level. " " . $credits. "<br />";
}
参考文献:
修改强>
取自评论:
“这是我的查询,$ query =”SELECT id,title module WHERE id ='$ id'“; - user5579012 38分钟前”
这不是原始问题中的内容。
您发布了SELECT * FROM module WHERE id= '$id'
。
这里有语法错误,在title
之后缺少逗号。
它应该是:
$query="SELECT id, title, module WHERE id= '$id'";
所有列都需要用逗号分隔,但最后一个不是module
。
答案 1 :(得分:0)
确保一切正常。如果可能,回声错误。
<?php include "connection.php";
// Get the ID from URL.
if(isset($_GET['id'])){
$id = $_GET['id'];
$query="SELECT * FROM module WHERE id= '$id'";
$result= mysqli_query($m, $query);
if($result){ //query is ok
if(mysqli_num_rows($result) > 0){//check if a record exists
while ($row = mysqli_fetch_array($result)){
$title=$row['title'];
$level=$row['level'];
$credits=$row['credits'];
$school=$row['school'];
echo $title. " " . $level. " " . $credits. "<br />";
}
}else{ //no result found
echo "no results found!";
}
}else{ //some error in querying
echo mysqli_error($m);
}
}
?>