PHP를 사용하여 단일 문에서 여러 SQL 쿼리 실행
질문:
여러 SQL 쿼리 실행 가능 SQL 쿼리는 단일 명령문으로 통합됩니다. PHP?
컨텍스트:
질문은 여러 SQL 쿼리가 개별적으로 실행되는 시나리오와 관련됩니다.
$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");
답변 :
예, 다음을 사용하여 PHP의 단일 문에서 여러 SQL 쿼리를 실행할 수 있습니다. mysql_connect()에 대한 특정 매개변수.
5번째 매개변수로 65536을 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");
이 매개변수가 설정되면 단일 문에서 여러 SQL 쿼리를 실행할 수 있습니다. :
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_affected_rows와 같은 함수를 사용하여 첫 번째 쿼리에 의해 삽입되거나 영향을 받은 행 수를 검색할 수 있습니다. 그러나 mysql_fetch_*와 같은 함수는 첫 번째 쿼리에 대해서만 값을 반환하고 문의 후속 쿼리에 대해서는 값을 반환하지 않습니다.
위 내용은 단일 PHP 문에서 여러 SQL 쿼리를 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!