2015-11-01 27 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 ,附近emailselect查询抛出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

很好听,你的问题解决了:) –