데이터베이스에서 가져온 문자열이 포함 된 선택 목록이 있고 여러 문자열에 공백이 포함되어 있으며 오류가 발생합니다. 먼저 PHP가 공백을 읽지 않았습니다. 견적을 사용하여 그것을 고쳤지 만 그 오류는 여전히 존재합니다. 공백이 포함 된 문자열을 보내면 SQL 구문 오류가 발생합니다.
이
하나 개의 파일 내 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 구문에 오류가 있습니다. 당신은 닫히지 않았다
VALUES
괄호 라인 1
닫기 괄호가 하나의 폐쇄' "'의 반대쪽에있다., 쿼리를 에코 먼저 몇 가지 디버깅을 수행하십시오. – Nanne
@deceze :이 질문과 중복되는 것은 무엇입니까? 내 말은, 같은 문제가이 코드에있는 것입니다.하지만 그건 질문이 아닙니다. 그렇죠? 그것은 심하게 연구되었습니다. – Nanne