2012-02-11 9 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に新しいですように変更するかわからないです。

エラーと私のコードは次のとおりです。2番目のクエリで

<?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 'users'の近くで使用する' WHERE 'user_id' =' 0 '' 9行目 – user1155141