2015-11-01 4 views
2

У меня проблема с этой проблемой, и я не знаю, как ее решить. Я знаю, что у многих таких проблем, как моя проблема, но я не могу ориентироваться.Неверный запрос: у вас есть ошибка в синтаксисе 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); 
} 


?> 

ответ

4

Удалить запятую после последнего столбца:

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

Большое вам спасибо lad2025 – Dimas

0

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

Рад слышать, что ваша проблема была решена :) –

 Смежные вопросы

  • Нет связанных вопросов^_^