Syntax Error for around LIMIT
I'm working on a training course for PHP and I think the mysql syntax is outdated. This is the function
function get_subject_by_id($subject_id) {
    global $connection;
    $query = "SELECT * ";
    $query .= "FROM subjects ";
    $query .= "WHERE id=" . $subject_id ." ";
    $query .= "LIMIT 1";
    $result_set = mysql_query($query, $connection);
    confirm_query($result_set);
    if ($subject = mysql_fetch_array($result_set)) {
        return $subject;
    } else { 
            return NULL;
    }
}
and I'm getting back this error: Database query failed: 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 'LIMIT 1' at line 1
I'm not sure what I'm doing wrong here. Any help from someone who knows what might have change开发者_如何学运维d in the syntax would be greatly appreciated.
$query = "SELECT *
          FROM subjects
          WHERE id = $subject_id 
          LIMIT 1";
Query fails because $subject_id is empty.
SELECT * FROM subjects WHERE id= LIMIT 1
apparently the $subject_id is causing the trouble, check if the value is passed correctly.
Two wild guesses:
- You did not quote / escape $subject_idwhich contains a string or something non-integer (such asFALSE,NULLor the empty string).
 Even if this is not the cause, it makes your script vulnerable to SQL injection.
- You are using a Mac for coding and have erroneously inserted a non-breakable space
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论