2012-02-11 2 views
-1
나는 데이터베이스에서 회원 정보를 끌어와이 오류 얻으려고

:PHP MYSQL 구문 오류

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 users WHERE user_id = 0' at line 8 That user does not exist.

을 나는 PHP에 새로운 오전으로 변경해야할지 모르겠습니다.

오류가있는 내 코드는 다음과 같습니다 두 번째 쿼리에서

<?php 

function fetch_users() { 

    $result = mysql_query('SELECT `user_id` AS `id`, `user_username` AS `username` FROM `users`'); 

    $users = array(); 

    while (($row = mysql_fetch_assoc($result)) !== false) { 
     $users[] = $row; 
    } 

    return $users; 
} 

function fetch_user_info($uid) { 
    $uid = (int)$uid; 

    $sql = "SELECT 
       `user_username` AS `username`, 
       `user_firstname` AS `firstname`, 
       `user_lastname` AS `lastname`, 
       `user_email` AS `email`, 
       `user_about` AS `about`, 
       `user_location` AS `location`, 
       `user_gender` AS `gender`' 
      FROM `users` 
      WHERE `user_id` = {$uid}"; 

    $result = mysql_query($sql);    

    /*Echo mysql_error();*/ 


    return mysql_fetch_assoc($result);   
} ?> 

답변

3

, 마지막 줄의 끝에서 FROM 절,가 안되는 작은 따옴표가 (')가되기 전에 그것을 제거하려고 : 또한

`user_gender` AS `gender`' 
FROM `users` 

, 즉 MySQL은 그 오류 메시지에서 당신을 말하고있다 정확히 무엇을 ''FROM users WHERE user_id = 0' at라인을 8

메시지의 쿼리 샘플 시작 부분에 이중 작은 따옴표 (용어)가 있음을 유의하십시오. 첫 번째는 샘플의 시작을 표시하고 (항상 두 개의 작은 따옴표로 묶임) 두 번째는 이미 토큰이 문제를 일으킨다.

0

내가 알 수있는 한, gender 다음에 작은 따옴표가 표시되는 것처럼 보입니다. 그것 이외에, 나는 그것이 효과가있을 것이라고 생각한다.

+0

죄송합니다. 여기에 새로운 오류 메시지가 있습니다. SQL 구문에 오류가 있습니다. mysql 서버 버전에 해당하는 매뉴얼을 확인하여 'FROM'사용자'근처에서 사용할 올바른 구문을 찾으십시오'where user_id' = '0' '9 행 – user1155141