sql >> Database teknologi >  >> RDS >> Mysql

Udførelse af flere SQL-forespørgsler i én sætning med PHP

Begiv 65536 til mysql_connect som 5. parameter.

Eksempel:

$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
");

Når du arbejder med mysql_fetch_* eller mysql_num_rows eller mysql_affected_rows, er kun den første sætning gyldig.

For eksempel, de følgende koder, den første sætning er INSERT, du kan ikke udføre mysql_num_rows og mysql_fetch_*. Det er okay at bruge mysql_affected_rows til at returnere, hvor mange rækker der er indsat.

$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;
");

Et andet eksempel, de følgende koder, den første sætning er SELECT, du kan ikke udføre mysql_affected_rows. Men du kan udføre mysql_fetch_assoc for at få et nøgleværdipar af rækker, der er resultatet af den første SELECT-sætning, eller du kan udføre mysql_num_rows for at få antallet af rækker baseret på den første SELECT-sætning.

$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);
");


  1. Hvordan får man en alder fra et D.O.B-felt i MySQL?

  2. Oracle SQL for at ændre kolonnetype fra nummer til varchar2, mens den indeholder data

  3. Opdag duplikerede elementer i rekursiv CTE

  4. Opdater en databasemailkonto i SQL Server (T-SQL)