首页 > 数据库 > mysql教程 > 如何使用 PHP 在一条语句中执行多个 SQL 查询?

如何使用 PHP 在一条语句中执行多个 SQL 查询?

Patricia Arquette
发布: 2024-11-19 16:19:03
原创
365 人浏览过

How Can I Execute Multiple SQL Queries in a Single Statement Using PHP?

使用 PHP 在一个语句中执行多个 SQL 查询

在这个编程难题中,用户寻求一种方法将多个 SQL 查询组合成一个单一声明。他们提供了由三个单独的查询组成的示例代码:

DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id';
mysql_query($query) or die(mysql_error());

INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id');
mysql_query($query) or die("Błąd MySQL X04");

INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY');
mysql_query($query) or die("Błąd MySQL X05");
登录后复制

解决方案

要使用 PHP 和 MySQL 在一条语句中执行多个 SQL 查询,关键是在 mysql_connect 初始化期间传递 65536 作为第五个参数。下面是一个示例:

$conn = mysql_connect('localhost','username','password', true, 65536 /* here! */) or die("cannot connect");
mysql_select_db('database_name') or die("cannot use database");

mysql_query("
    INSERT INTO table1 (field1,field2) VALUES(1,2);

    INSERT INTO table2 (field3,field4,field5) VALUES(3,4,5);

    DELETE FROM table3 WHERE field6 = 6;

    UPDATE table4 SET field7 = 7 WHERE field8 = 8;

    INSERT INTO table5
       SELECT t6.field11, t6.field12, t7.field13
       FROM table6 t6
       INNER JOIN table7 t7 ON t7.field9 = t6.field10;

    -- etc
");
登录后复制

在此示例中,所有查询将作为单个语句的一部分顺序执行。需要注意的是,后续命令如 mysql_fetch_*、mysql_num_rows 和 mysql_affected_rows 只对第一个执行的查询有效。

mysql_close 问题

关于以下问题关闭数据库连接,一般建议完成所有SQL查询后调用mysql_close($db)来释放连接,释放资源。

以上是如何使用 PHP 在一条语句中执行多个 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板