查询无效:您的 SQL 语法有误; near 使用的语法
Invalid query: You have an error in your SQL syntax; syntax to use near
我有这个问题错误,我不知道如何解决。我知道有多少人有像我这样的问题,但我无法定位。
问题:
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 ,
select
中的 email
附近查询抛出 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();
?>
我有这个问题错误,我不知道如何解决。我知道有多少人有像我这样的问题,但我无法定位。
问题:
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 ,
select
中的 email
附近查询抛出 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();
?>