在MySQL查询中插入PHP数组和字符串

时间:2016-08-10 11:20:34

标签: php mysql

我有以下查询在输入数组$stid$attendance_status时工作正常。但是,我还希望使用固定数字22填充名为SCH_TIMESLOT的列,或者最终填充所有记录都相同的字符串值。我收到错误声明:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近' 22'在第2行

这是我的疑问:

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());

感谢您的帮助

4 个答案:

答案 0 :(得分: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());

答案 1 :(得分: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)"

答案 2 :(得分:0)

试试这个,我替换&#34;)&#34;之前&#34; 22&#34;然后移动它。

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());

答案 3 :(得分:0)

更改您的SQL查询,如下所示

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());`