您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

传递65536MysqL_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 2022/1/1 18:19:59 有378人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶