-1 php mysql database select echo
这是我的脚本,它显示一个空白,我不知道问题是什么.救命!!!!#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 />";
}
?>
Run Code Online (Sandbox Code Playgroud)
错误:
您的SQL语法有错误; 检查与MariaDB服务器版本对应的手册,以便在第1行的"WHERE id ='Careers''附近使用正确的语法
这里一个明显的问题是你已经包含了一个"结束语句"字符是一个分号.
分号(如果不是拼写错误)正在这样做,"结束"声明.
if(isset($_GET['id']));
^ right there.
Run Code Online (Sandbox Code Playgroud)
它应该是它的支撑{,并读作:
if(isset($_GET['id'])){
Run Code Online (Sandbox Code Playgroud)
}对于它的条件陈述应该有一个右括号.
旁注:如果GET数组有值,则分号被认为是PHP中的有效字符,不会给它带来错误.
但是,您应该检查其余代码的错误.
错误报告添加到您的文件(S)的顶部开放的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 />";
}
Run Code Online (Sandbox Code Playgroud)
参考文献:
编辑:
摘自评论:
"这是我的查询,$ 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'";
Run Code Online (Sandbox Code Playgroud)
所有列都需要用逗号分隔,而不是最后一个在module这里.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |