- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个脚本,可以根据几个因素生成 SQL 插入或更新脚本。下面是它生成的脚本的字符串值:
INSERT INTO AAB_EVENT_SHIFTS ( EVENT_ID ,SHIFT ,START_TIME ,END_TIME
,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE ) VALUES ( 6 ,1
,STR_TO_DATE('04/01/2016 10:00 am', '%m/%d/%Y %I:%i %p' )
,STR_TO_DATE('04/01/2016 11:00 am', '%m/%d/%Y %I:%i %p' ) ,14 ,now() ,14 ,now()
); INSERT INTO AAB_EVENT_SHIFTS ( EVENT_ID ,SHIFT ,START_TIME ,END_TIME ,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE ) VALUES ( 6 ,2 ,STR_TO_DATE('04/01/2016 11:00 am', '%m/%d/%Y %I:%i %p' ) ,STR_TO_DATE('04/01/2016 12:00 pm', '%m/%d/%Y %I:%i %p' ) ,14 ,now() ,14 ,now() );
INSERT INTO AAB_EVENT_SHIFTS ( EVENT_ID ,SHIFT ,START_TIME ,END_TIME ,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE ) VALUES ( 6 ,3
,STR_TO_DATE('04/01/2016 12:00 pm', '%m/%d/%Y %I:%i %p' )
,STR_TO_DATE('04/01/2016 1:00 pm', '%m/%d/%Y %I:%i %p' ) ,14 ,now() ,14 ,now() );
如果我在连接到数据库的 SQL 编辑器中运行它,它运行得很好并插入预期的所有行。但是,当这样调用该查询时:
$result = mysqli_query($link,$query);
echo mysqli_error($link);
返回:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT INTO AAB_EVENT_SHIFTS ( EVENT_ID ,SHIFT ,' at line 24
我更改了查询生成的方式,从创建多个查询的串联字符串更改为创建一组查询并一次运行一个查询 - 这似乎已经纠正了问题。
for($i=1;$i<=$event->total_shifts($event_id);$i++) {
// echo $event->shift_exists($event_id,$i).'-'.$i.'::<P>';
if($event->shift_exists($event_id,$i)) {
$query[$i] =
'UPDATE AAB_EVENT_SHIFTS '
. 'SET START_TIME = STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['start_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\' )'
. ', END_TIME = STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['end_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\' )'
. ',MODIFY_USER = '. get_session_user_id(session_id())
. ',MODIFY_DATE = now()'
. ' WHERE EVENT_ID = '.$event_id.' AND SHIFT = '.$i.'; ';
} else { $query[$i] =
'
INSERT INTO AAB_EVENT_SHIFTS
(
EVENT_ID
,SHIFT
,START_TIME
,END_TIME
,CREATE_USER
,CREATE_DATE
,MODIFY_USER
,MODIFY_DATE
)
VALUES
(
'.$event_id.'
,'.$i.'
,STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['start_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\' )
,STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['end_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\' )
,'. get_session_user_id(session_id()) .'
,now()
,'. get_session_user_id(session_id()) .'
,now()
);
';
}
}
$i = 1;
while($query[$i]) {
echo '<P>'.$query[$i];
$result = mysqli_query($link, $query[$i]);
$i++;
echo '<P>'.mysqli_error($link);
}
最佳答案
您无法通过单个 php mysqli_query 函数运行多个查询。
只需让您的脚本生成一个查询数组,然后在循环中逐个运行它们即可。
关于php - 通过单个 php mysqli_query 函数运行多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58949662/
This question already has answers here: Warning: mysqli_query() expects parameter 1 to be mysqli, nu
这个问题已经有答案了: What is the difference between client-side and server-side programming? (3 个回答) 已关闭 4 年前
如何确定 PHP 中函数 mysqli_multi_query(或 mysqli_query)接收的最大 $query 参数?我有一个 php 程序,它生成一个由更新 sql 命令组成的大字符串,由“
如何确定 PHP 中函数 mysqli_multi_query(或 mysqli_query)接收的最大 $query 参数?我有一个 php 程序,它生成一个由更新 sql 命令组成的大字符串,由“
我是一名初级程序员,在通过 mysqli_query 从数据库中获取信息时遇到了一些麻烦。我首先连接到数据库,然后尝试从数据库中的表 cbo 获取信息。然后我打印出不是来自表的信息的查询结果。相反,这
string(150) " SELECT * FROM ( SELECT *, @row := @row +1 AS rownum FROM (SELE
我的查询有问题。 $test = "Don't look at me"; mysqli_query("INSERT INTO testtable SET testfield = '".$test."'
这个问题已经有答案了: php/mysql with multiple queries (3 个回答) 已关闭 3 年前。 我对 mysqli_query 有疑问.. 这是我的代码的一部分: $con
我正在制作一个页面,用于查询表中所有结果的所有列,这些结果按输入时间降序排列,有限制。当我查询行数时,查询工作得很好,但是当我尝试再次查询表中的数据时,我什么也得不到。我决定尝试将查询缩减为 "SEL
$bzSendMail = mysqli_query($Connection, "INSERT INTO messages_inbox (from, towho, subject, text, rcv
我想从 MySQL 表中检索与特定电子邮件匹配的数据。有 2 条记录与此电子邮件相关,但我的屏幕上没有打印任何内容。 最佳答案 我不知道问题从何而来,但我想帮助你一点: num_
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
这个问题已经有答案了: Parse errors are not displayed (8 个回答) 已关闭 8 年前。 我正在制作一个基本的歌曲推荐网站,并且设置了一个表单,该表单可指向一个包含以下
我正在使用 PHP 执行数据库查询。我已经成功地使用该程序执行了许多查询,但最近的一个查询给我带来了麻烦。原始SQL查询如下: SELECT Champion, RunnerUp FROM playo
这个问题已经有答案了: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答) How
我在循环中有一个插入查询,如何检查操作是否完成或成功? foreach ($_POST['players'] as $value) { mysqli_query($conn, "INSERT
这个问题已经有答案了: Object can't be converted to a string in MySQLi PHP [duplicate] (2 个回答) 已关闭 4 年前。 如果tota
我已经就我正在处理的这段代码提出了一个问题,但不是同一个问题。不管怎样,抱歉重发! 所以我在代码方面遇到了问题,如下: '; $db_1 = mysqli_select_db( $con, 'db_1
我从下面提供的代码中收到以下错误: 警告:mysqli_query()期望参数1为mysqli,第7行的C:\ xampp \ htdocs \ index.php中给出的字符串 警告:
我想使用 PHP 将数据插入到 MySQL 表中。 这是我的代码: 当我运行代码时,出现 MySQL 错误: You have an error in your SQL syntax; check
我是一名优秀的程序员,十分优秀!