首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的sql没有更新多个databases...whats错误吗?

问我的sql没有更新多个databases...whats错误吗?
EN

Stack Overflow用户
提问于 2010-07-17 02:45:18
回答 3查看 241关注 0票数 0

我正在尝试运行一个SQL命令来更新多个数据库。如果我直接将下面的sql代码复制粘贴到PHPMYADMIN中,它会执行得很好,但当我通过php运行sql时,它不会更新吗?

如果我通过我的php脚本分别为每个数据库运行更新,它们都更新得很好,所以我很困惑?

我做错了什么?

SQL代码:

代码语言:javascript
复制
UPDATE rst.users a, rst.user_type b 
SET a.first_name='Timsd',a.last_name='Lebaronsd',a.password='timsd',
 a.email='tim@dog.comsd', a.user_type_id='5',a.language_code='en_US', 
   a.timezone='Pacific/Midway', create_ts = '2010-07-16 12:33:31' 
WHERE a.user_type_id = b.user_type_id AND b.account_id = 1 AND a.users_id = 90; 

use externalusers; 

UPDATE externalusers.user 
SET fullname="'Timsd' 'Lebaronsd'", emailaddress="'tim@dog.comsd'" 
WHERE rst_id = 90 AND rst_account_id = 1;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-17 02:49:08

出于安全原因,mysql_query()和类似的函数不能执行多个语句。

如果你真的想在一次调用中执行多条语句,可以使用mysqli_multi_query()。

附注:这不是PHP的一个特性,而是mysql C API的一个特性。

票数 3
EN

Stack Overflow用户

发布于 2010-07-17 02:48:11

PHP有一个安全特性,可以防止您在一个mysql_query()调用中执行多个查询。不幸的是,原生mysql_*函数没有办法解决这个问题。

不过,我相信如果你使用PDO或MySQLi,你可以做到。我强烈推荐PDO。

票数 0
EN

Stack Overflow用户

发布于 2010-07-17 04:55:42

为了补充其他人的回答,重要的是要说,您实际上并不是在执行一条SQL语句,而是一个接一个地执行两条(或者实际上可能是三条)语句。PHPMYADMIN只是简单地中断它们;并按顺序执行它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3267918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档