Неверный запрос: у вас есть ошибка в вашем синтаксисе 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);
}


?>

2

Решение

Удалить запятую после последней колонки:

$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}";
4

Другие решения

Проблема заключается в формировании синтаксиса для запроса 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();

?>
0

По вопросам рекламы [email protected]