ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:46:47 24 4
gpt4 key购买 nike

如何将多个查询合并为一个(可以吗?)

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

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

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

顺便说一句,如果我在所有查询完成后执行 mysql_close($db) 会更好吗?

最佳答案

65536 作为第 5 个参数传递给 mysql_connect

例子:

$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 时,只有第一个语句有效。

例如下面的代码,第一条语句是INSERT,不能执行mysql_num_rows和mysql_fetch_*。可以使用 mysql_affected_rows 返回插入的行数。

$conn = mysql_connect('localhost','username','password', true, 65536) or die("cannot connect");
mysql_select_db('database_name') or die("cannot use database");
mysql_query("
INSERT INTO table1 (field1,field2) VALUES(1,2);
SELECT * FROM table2;
");

再比如下面的代码,第一条语句是SELECT,不能执行mysql_affected_rows。但是您可以执行 mysql_fetch_assoc 来获取第一个 SELECT 语句产生的行的键值对,或者您可以执行 mysql_num_rows 来获取基于第一个 SELECT 语句的行数。

$conn = mysql_connect('localhost','username','password', true, 65536) or die("cannot connect");
mysql_select_db('database_name') or die("cannot use database");
mysql_query("
SELECT * FROM table2;
INSERT INTO table1 (field1,field2) VALUES(1,2);
");

关于php - 使用 PHP 在一条语句中执行多个 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980803/

24 4 0
文章推荐: MySQL 授予数据库除一张表之外的所有权限
文章推荐: php - 第 1 列第 2 行错误 : Extra content at the end of the document
文章推荐: php - 如何在 PHP 中链接方法?
文章推荐: mysql - 是否有任何数据库支持自动创建索引?
IT老高
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com