解决 php 原生 pdo 多个处理语句中插入错误
问题:使用 php 原生 pdo 尝试执行两个 sql 语句插入,但收到以下报错:
error!: sqlstate[42000]: syntax error or access violation: 1064 you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'insert into content_table (title) values ('标题') not null' at line 1
代码:
$sql= "alter table cate_table add varchar(255) not null". "insert into content_table (name) values ('标题') not null"; try { $dbh = new pdo($dsn, $user, $pass);; $dbh->exec($sql); } catch (pdoexception $e) { print "error!: " . $e->getmessage() die(); }
原因:
立即学习“PHP免费学习笔记(深入)”;
php pdo 中执行多句 sql 语句时,每句 sql 语句必须以分号 (;) 作为结束符。而原始代码中,两个 sql 语句之间缺少分号。
解决方案:
在原始代码中添加分号即可,如下:
$sql= "ALTER TABLE cate_table ADD varchar(255) NOT NULL;"; "INSERT INTO content_table (name) VALUES ('标题') NOT NULL";
以上就是PHP PDO多语句插入失败:如何正确执行多个SQL语句?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号