无效的查询:您的SQL语法有错误;语法使用附近
问题描述:
我有这个问题的错误,我不知道如何解决它。我知道这么多人有问题像我的问题,但我不能定位。无效的查询:您的SQL语法有错误;语法使用附近
问题:
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `user` WHERE `id` = 0' at line 6
代码:
<?php
function fetch_users(){
$result = mysql_query('SELECT `id` AS `id`, `username` AS `username` FROM `user`');
$users = array();
while(($row = mysql_fetch_assoc($result)) !== false){
$users[] = $row;
}
return $users;
}
// fetches profile information for the given user.
function fetch_user_info($id){
$id = (int)$id;
$sql = "SELECT
`username` AS `username`,
`firstname` AS `firstname`,
`lastname` AS `lastname`,
`email` AS `email`,
FROM `user` WHERE `id` = {$id}";
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
return mysql_fetch_assoc($result);
}
?>
答
最后一栏后删除逗号:
$sql = "SELECT
`username` AS `username`,
`firstname` AS `firstname`,
`lastname` AS `lastname`,
`email` AS `email` -- here
FROM `user` WHERE `id` = {$id}";
而且你不需要别名相同的名字列:
$sql = "SELECT
`username`,
`firstname`,
`lastname`,
`email`
FROM `user` WHERE `id` = {$id}";
答
的问题是与语法形成了在$sql
SQL查询,因为错误本身告诉错误是附近FROM user WHERE id=0
,附加comma ,
附近email
在select
查询抛出SQL错误。
<?php
echo 'test';
function fetch_users(){
$result = mysql_query('SELECT `id` AS `id`, `username` AS `username` FROM `user`');
$users = array();
while(($row = mysql_fetch_assoc($result)) !== false){
$users[] = $row;
}
return $users;
}
// fetches profile information for the given user.
function fetch_user_info($id){
$id = (int)$id;
$sql = "SELECT
`username` AS `username`,
`firstname` AS `firstname`,
`lastname` AS `lastname`,
`email` AS `email`
FROM `user` WHERE `id` = {$id}";
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
return mysql_fetch_assoc($result);
}
echo fetch_users();
?>
+1
谢谢你的回答,但lad2025帮我已经:) – Dimas
+0
很好听,你的问题解决了:) –
谢谢你这么多lad2025 – Dimas