-1

我有一个选择列表,其中包含从我的数据库中获取的字符串,多个字符串包含空格并导致错误,起初 PHP 没有读取空格。我用引号解决了这个问题,但错误仍然存​​在。

这是我在一个文件中的 php 代码:

$AllDepartements = $db->getAllDepartements();
echo "<select name='Major' style='width: 270px'><option value=''>Select       Major</option>";
While ($row = mysql_fetch_array($AllDepartements))
{
$Major = $row['DName'];
print "<option value='".$Major."'>$Major</option>";

}
print "</select><br>";

这是添加函数调用:

else if($tag =='add'){
$SSN =  $_POST['SSN'];
$Class =  $_POST['Class'];
$Major =  $_POST['Major'];
$Minor =  $_POST['Minor'];

if($db->addStudent($SSN,$Class,$Major,$Minor))
header('Location:' . $form . '.php?tag=list');
else
echo mysql_error();
//echo "ERROR!";
}

最后是函数本身:

 public function addStudent($SSN,$Class,$Major,$Minor) {    
    if($result = mysql_query(" INSERT INTO student (SSN,Class,Major,Minor)    VALUES ('$SSN','$Class',$Major,$Minor ")) {
        return true ;
    }
    else 
        return false;
}

我收到的错误是:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法

4

2 回答 2

0

INSERT 查询中的语法错误...

"INSERT INTO student (SSN,Class,Major,Minor) VALUES ('$SSN','$Class',$Major,$Minor)"
                                                                                 ^^^^^
于 2013-11-04T14:25:11.800 回答
0

你没有关闭VALUES括号:

$result = mysql_query("INSERT INTO student (SSN,Class,Major,Minor) VALUES ('$SSN','$Class',$Major,$Minor)");

而且,您正在使用一个已弃用的库,mysql稍后将省略该库。使用mysqli或类似 PDO 的接口。

于 2013-11-04T14:23:54.423 回答