Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Works but gives sql SYNTAX error

I just wrote this bit of code which echo's out what it's supposed to but after the echo statement it give me the error-

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 '' at line 1

why's this happening? how do i fix it?

<?php
$myclasses = explode(',', $_SESSION['classlist']);  
$theirclasses = explode(',', $user_info['classlist']);
$common_classes = array_intersect($myclasses, $theirclasses);

if (count($common_classes) > 0) {     

    foreach ($common_classes as $class) {
        $classes = mysql_query("SELECT * FROM classes WHERE class_id = ".$class) or die(mysql_error());
        while($currentRow = mysql_fetch_array($classes)){
        echo $currentRow['class_name'];
        }
    }  
}
else {
}

?>
like image 988
ramr Avatar asked Jan 17 '26 20:01

ramr


1 Answers

Try wrapping your query with quote:

$classes = mysql_query("SELECT * FROM classes WHERE class_id = '".$class."'") or die(mysql_error());

or change your query altogether by using PDO. Because, mysql_* function are deprecated.

like image 146
ariefbayu Avatar answered Jan 19 '26 18:01

ariefbayu



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!