2016-08-10 6 views
-1

배열 $stid$attendance_status을 입력 할 때 다음 쿼리가 정상적으로 작동합니다. 그러나 SCH_TIMESLOT이라는 열을 고정 숫자 22으로 채우거나 결국 모든 레코드에 대해 동일한 문자열 값을 채 웁니다. 다음과 같은 오류가 표시됩니다.MySQL 쿼리에 PHP 배열과 문자열을 삽입하십시오.

SQL 구문에 오류가 있습니다. 올바른 구문을 사용하는 는 MySQL 서버 버전에 해당하는 설명서를 확인 근처 라인이

에서 '22'이 내 쿼리입니다 :

for($i=0;$i<count($attendance_status);$i++){ 
    mysql_query("INSERT INTO `ATTENDANCE` (`ID`, `STUDENT_ID`, `ATTENDANCE`, `SCH_TIMESLOT`) VALUES 
    (NULL, $stid[$i], $attendance_status[$i]), 22") or die (mysql_error()); 

당신의 도움이

주셔서 감사합니다
+0

아래로 SQL 쿼리를 변경

. 그것은 당신의 문제를 해결할 수 있습니다. – Kashyap

+0

잘못된 곳에 닫는 중괄호가 있어야합니다.'(NULL, $ stid [$ i], $ attendance_status [$ i], 22)' – Steve

답변

0

VALUES 대괄호에서 22 개를 놓치 셨습니다. 그것은 안에 있어야합니다.

<?php 
for($i=0;$i<count($attendance_status);$i++){ 
mysql_query("INSERT INTO `ATTENDANCE` (`ID`, `STUDENT_ID`, `ATTENDANCE`, `SCH_TIMESLOT`) VALUES 
(NULL, $stid[$i], $attendance_status[$i], 22)") or die (mysql_error()); 
0

구문 오류가 있습니다.

$stid[$i], $attendance_status[$i]), 22") 당신은, 내가 "22"전에 ")"대체이 시도하고 후 이동이

"INSERT INTO `ATTENDANCE` (`ID`, `STUDENT_ID`, `ATTENDANCE`, `SCH_TIMESLOT`)  
    VALUES 
(NULL, $stid[$i], $attendance_status[$i], 22)" 
0

처럼 시도 22

전에 브래킷을 닫는.

for($i=0;$i<count($attendance_status);$i++){ 
    mysql_query("INSERT INTO `ATTENDANCE` (`ID`, `STUDENT_ID`, `ATTENDANCE`, `SCH_TIMESLOT`) VALUES 
    (NULL, $stid[$i], $attendance_status[$i], 22)") or die (mysql_error()); 
0
는 '22'번 시도하십시오
for($i=0;$i<count($attendance_status);$i++){ 
mysql_query("INSERT INTO `ATTENDANCE` (`ID`, `STUDENT_ID`, `ATTENDANCE`, `SCH_TIMESLOT`) VALUES `(NULL, $stid[$i], $attendance_status[$i], 22") or die (mysql_error());` 
관련 문제