无法在PHP中同时执行两个mysql查询

无法在PHP中同时执行两个mysql查询,php,mysql,Php,Mysql,如果我试图通过分号来同时执行两个MySQL查询,它在PHP MyAdmin中运行良好,但在PHPMySQL\u query()中查询根本不起作用 有人知道原因吗?只允许您一次进行一个查询。这有助于防止SQL注入 从文档中: mysql\u query()发送一个唯一的查询 (不支持多个查询) 到上的当前活动数据库 与服务器关联的服务器 指定的链接标识符 如果您要做的是确保两个查询在一个事务中运行,请使用PHP和MySQL查看事务控制。只允许您一次执行一个查询。这有助于防止SQL注入 从文档中:

如果我试图通过分号来同时执行两个MySQL查询,它在PHP MyAdmin中运行良好,但在PHP
MySQL\u query()
中查询根本不起作用

有人知道原因吗?

只允许您一次进行一个查询。这有助于防止SQL注入

从文档中:

mysql\u query()
发送一个唯一的查询 (不支持多个查询) 到上的当前活动数据库 与服务器关联的服务器 指定的链接标识符

如果您要做的是确保两个查询在一个事务中运行,请使用PHP和MySQL查看事务控制。

只允许您一次执行一个查询。这有助于防止SQL注入

从文档中:

mysql\u query()
发送一个唯一的查询 (不支持多个查询) 到上的当前活动数据库 与服务器关联的服务器 指定的链接标识符


如果您试图做的是确保两个查询在一个事务中运行,请使用PHP和MySQL查看事务控制。

这可能解释/help:

这可能解释/help:

出于安全原因,一次只能运行一个查询。不过,您可以循环执行一系列查询,并独立运行每个查询

$queries[] = "INSERT INTO users (name) VALUES ('jonathan')";
$queries[] = "UPDATE users SET name = 'Jonathan' WHERE name = 'jonathan'";

foreach ($queries as $query) {
  mysql_query($query);
}
您甚至可以将包含两个查询的单个字符串分解为一个数组:

$sql = "INSERT INTO users (name) values ('jonathan');
        INSERT INTO users (name) values ('sampson')";

$queries = explode(";", $sql);

其中,
$querys
将成为一个查询数组,然后我们可以循环执行。

出于安全原因,一次只能运行一个查询。不过,您可以循环执行一系列查询,并独立运行每个查询

$queries[] = "INSERT INTO users (name) VALUES ('jonathan')";
$queries[] = "UPDATE users SET name = 'Jonathan' WHERE name = 'jonathan'";

foreach ($queries as $query) {
  mysql_query($query);
}
您甚至可以将包含两个查询的单个字符串分解为一个数组:

$sql = "INSERT INTO users (name) values ('jonathan');
        INSERT INTO users (name) values ('sampson')";

$queries = explode(";", $sql);

其中,
$querys
将成为一个查询数组,然后我们可以循环使用。

这似乎并不比普通的
mysql\u查询('INSERT…')更短或更好;mysql_查询('UPDATE…');o) @deceze不关注具体的例子。OP没有询问更短或更好的查询。他们问起一起管理他们。考虑到数组也可以动态构建,不像硬编码<代码> MySqLyQuices()/代码>调用。无论如何,您都必须在源代码中的某个地方编写和运行查询,您最好尽可能简洁明了。IMHO,在大多数情况下,从其他地方动态运行查询是不可能的。@deceze:我认为您不了解我的示例的更大应用程序,恕我直言。您可能不知道要提前执行多少次
插入
更新。我知道这些查询不能同时运行,但它们的组合足以满足OP的需要。@deceze:没错,如果用户只运行两个查询,那么我的解决方案就太过分了。:)这似乎并不比普通的
mysql_查询('INSERT…')更短或更好;mysql_查询('UPDATE…');o) @deceze不关注具体的例子。OP没有询问更短或更好的查询。他们问起一起管理他们。考虑到数组也可以动态构建,不像硬编码<代码> MySqLyQuices()/代码>调用。无论如何,您都必须在源代码中的某个地方编写和运行查询,您最好尽可能简洁明了。IMHO,在大多数情况下,从其他地方动态运行查询是不可能的。@deceze:我认为您不了解我的示例的更大应用程序,恕我直言。您可能不知道要提前执行多少次
插入
更新。我知道这些查询不能同时运行,但它们的组合足以满足OP的需要。@deceze:没错,如果用户只运行两个查询,那么我的解决方案就太过分了。:)