PHP/SQL 코드에 문제가 있습니다. 나는 많이 시도하고 인터넷 검색을했지만 코드로 어떤 실수를했는지 찾을 수 없습니다.PHP MySQL 쿼리 오류
뭔가 잘못되었는지, 여기에 내 코드를 붙여 넣습니다 수없는, 그래서 두 쿼리 오류가 여기
$absentbijwerken = mysql_query("UPDATE hw_absentieregistratie SET '$currentweekandday' = '$aanwezigheid[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
$absentredenbijwerken = mysql_query("UPDATE hw_absentiereden SET '$currentweekandday' = '$reden[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
을 붙여.
MySQL 오류 1064 : SQL 구문에 오류가 있습니다. 구문이 근처에 '-Dinsdag ='pr '을 사용하도록 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. where userid ='1 'at 1 행에 있습니다. " SQL 구문에 오류가있어서 설명서를 확인하십시오
따옴표로 문제가 있었다 : 그 1 ''라인에서 1
EDIT '사용자 ID =' '-Dinsdag = 'XD를 근처에 사용할 수있는 권리 구문 에 MySQL 서버 버전에 해당 새 코드는 다음과 같습니다.
for ($i = 0; $i < count($userid); $i++){
$absentbijwerken = mysql_query("UPDATE hw_absentieregistratie SET `$currentweekandday` = '$aanwezigheid[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
$absentredenbijwerken = mysql_query("UPDATE hw_absentiereden SET `$currentweekandday` = '$reden[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
'$ currentweekandday'가 열 이름으로 사용됩니다. 특수 문자가 들어 있으면 (적어도'-'를 가짐)', 역 인용 부호로 묶어야합니다. 'SET \'$ currentweekeandday \'= ...' –
그런 식으로 SQL을 구현하지 마십시오. 심지어보고있는 것과 같은 오류가 없더라도 SQL 주입을위한 확실한 방법입니다. – geoffspear
변수를 열 이름으로 보낼 때주의하십시오. 가능한 허용 값 목록과 대조하여 확인하십시오. –