Hướng dẫn php cli mysqli - php cli mysqli

mysqli_multi_query

(Php 5, Php 7, Php 8)

mysqli :: multi_query - mysqli_multi_query - thực hiện một hoặc nhiều truy vấn trên cơ sở dữ liệu -- mysqli_multi_queryPerforms one or more queries on the database

Sự mô tả

Phong cách hướng đối tượng

publicMysqli :: multi_query (chuỗi $query): bool mysqli::multi_query(string $query): bool

mysqli_multi_query (mysqli $mysql, chuỗi $query): bool(mysqli $mysql, string $query): bool

Các truy vấn được gửi không đồng bộ trong một cuộc gọi đến cơ sở dữ liệu, nhưng cơ sở dữ liệu xử lý chúng theo tuần tự. mysqli_multi_query () chờ truy vấn đầu tiên hoàn thành trước khi trả lại quyền kiểm soát cho PHP. Máy chủ MySQL sau đó sẽ xử lý truy vấn tiếp theo trong chuỗi. Khi kết quả tiếp theo đã sẵn sàng, MySQL sẽ đợi lần thực hiện tiếp theo của mysqli_next_result () từ PHP.mysqli_multi_query() waits for the first query to complete before returning control to PHP. The MySQL server will then process the next query in the sequence. Once the next result is ready, MySQL will wait for the next execution of mysqli_next_result() from PHP.

Nên sử dụng Do-WHILE để xử lý nhiều truy vấn. Kết nối sẽ bận rộn cho đến khi tất cả các truy vấn đã hoàn thành và kết quả của họ được tìm nạp vào PHP. Không có tuyên bố nào khác có thể được đưa ra trên cùng một kết nối cho đến khi tất cả các truy vấn được xử lý. Để tiến hành truy vấn tiếp theo trong chuỗi, hãy sử dụng mysqli_next_result (). Nếu kết quả tiếp theo chưa sẵn sàng, MySQLI sẽ đợi phản hồi từ máy chủ MySQL. Để kiểm tra xem có nhiều kết quả hơn không, hãy sử dụng mysqli_more_results ().mysqli_next_result(). If the next result is not ready yet, mysqli will wait for the response from the MySQL server. To check if there are more results, use mysqli_more_results().

Đối với các truy vấn tạo ra một tập kết quả, chẳng hạn như SELECT, SHOW, DESCRIBE hoặc EXPLAIN, mysqli_use_result () hoặc mysqli_store_result () có thể được sử dụng để truy xuất tập kết quả. Đối với các truy vấn không tạo ra một tập kết quả, các chức năng tương tự có thể được sử dụng để truy xuất thông tin như số lượng hàng bị ảnh hưởng.mysqli_use_result() or mysqli_store_result() can be used to retrieve the result set. For queries which do not produce a result set, the same functions can be used to retrieve information such as the number of affected rows.

Mẹo

Thực hiện các câu lệnh CALL cho các thủ tục được lưu trữ có thể tạo ra nhiều bộ kết quả. Nếu quy trình được lưu trữ chứa các câu lệnh SELECT, các bộ kết quả được trả về theo thứ tự chúng được tạo ra khi thủ tục thực thi. Nói chung, người gọi không thể biết có bao nhiêu kết quả đặt một thủ tục sẽ trở lại và phải được chuẩn bị để lấy nhiều kết quả. Kết quả cuối cùng từ thủ tục là kết quả trạng thái bao gồm không có kết quả. Trạng thái cho biết thủ tục thành công hay xảy ra lỗi.

Thông số

________số 8

Chỉ theo kiểu thủ tục: một đối tượng mysqli được trả về bởi mysqli_connect () hoặc mysqli_init ()mysqli object returned by mysqli_connect() or mysqli_init()

query

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

Trả về giá trị

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.$query0 if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.

Ví dụ

Ví dụ #1 MySQLI :: Multi_Query () Ví dụmysqli::multi_query() example

Phong cách hướng đối tượng

$query1

$query2

$query3

publicMysqli :: multi_query (chuỗi $query): bool

$query1

$query2

$query6

mysqli_multi_query (mysqli $mysql, chuỗi $query): bool

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Các truy vấn được gửi không đồng bộ trong một cuộc gọi đến cơ sở dữ liệu, nhưng cơ sở dữ liệu xử lý chúng theo tuần tự. mysqli_multi_query () chờ truy vấn đầu tiên hoàn thành trước khi trả lại quyền kiểm soát cho PHP. Máy chủ MySQL sau đó sẽ xử lý truy vấn tiếp theo trong chuỗi. Khi kết quả tiếp theo đã sẵn sàng, MySQL sẽ đợi lần thực hiện tiếp theo của mysqli_next_result () từ PHP.

  • Nên sử dụng Do-WHILE để xử lý nhiều truy vấn. Kết nối sẽ bận rộn cho đến khi tất cả các truy vấn đã hoàn thành và kết quả của họ được tìm nạp vào PHP. Không có tuyên bố nào khác có thể được đưa ra trên cùng một kết nối cho đến khi tất cả các truy vấn được xử lý. Để tiến hành truy vấn tiếp theo trong chuỗi, hãy sử dụng mysqli_next_result (). Nếu kết quả tiếp theo chưa sẵn sàng, MySQLI sẽ đợi phản hồi từ máy chủ MySQL. Để kiểm tra xem có nhiều kết quả hơn không, hãy sử dụng mysqli_more_results ().
  • Đối với các truy vấn tạo ra một tập kết quả, chẳng hạn như SELECT, SHOW, DESCRIBE hoặc EXPLAIN, mysqli_use_result () hoặc mysqli_store_result () có thể được sử dụng để truy xuất tập kết quả. Đối với các truy vấn không tạo ra một tập kết quả, các chức năng tương tự có thể được sử dụng để truy xuất thông tin như số lượng hàng bị ảnh hưởng.
  • Mẹo
  • Thực hiện các câu lệnh CALL cho các thủ tục được lưu trữ có thể tạo ra nhiều bộ kết quả. Nếu quy trình được lưu trữ chứa các câu lệnh SELECT, các bộ kết quả được trả về theo thứ tự chúng được tạo ra khi thủ tục thực thi. Nói chung, người gọi không thể biết có bao nhiêu kết quả đặt một thủ tục sẽ trở lại và phải được chuẩn bị để lấy nhiều kết quả. Kết quả cuối cùng từ thủ tục là kết quả trạng thái bao gồm không có kết quả. Trạng thái cho biết thủ tục thành công hay xảy ra lỗi.
  • Thông số

________số 8

Chỉ theo kiểu thủ tục: một đối tượng mysqli được trả về bởi mysqli_connect () hoặc mysqli_init ()

$query7

$query8

$query9

$mysql0

query

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

$mysql1

$mysql2

$mysql0

Trả về giá trị

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.

$mysql4

$mysql5

$mysql6

$mysql7

$mysql0

Ví dụ

Ví dụ #1 MySQLI :: Multi_Query () Ví dụ

$mysql9

$query0

$query1

$query2

$query3

Phong cách thủ tục

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

$query4

$query5

$query6

$mysql0

Xem thêm

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

$query8

$query9

$mysql0

Trả về giá trị

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

SELECT, SHOW, DESCRIBE1

SELECT, SHOW, DESCRIBE2

SELECT, SHOW, DESCRIBE3

SELECT, SHOW, DESCRIBE4

Trả về giá trị

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.

SELECT, SHOW, DESCRIBE5

Ví dụ

Chỉ theo kiểu thủ tục: một đối tượng mysqli được trả về bởi mysqli_connect () hoặc mysqli_init ()

SELECT, SHOW, DESCRIBE6

SELECT, SHOW, DESCRIBE7

SELECT, SHOW, DESCRIBE8

$mysql0

query

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.

EXPLAIN0

EXPLAIN1

EXPLAIN2

EXPLAIN3

EXPLAIN4

EXPLAIN5

EXPLAIN6

$mysql0

Ví dụ

Chỉ theo kiểu thủ tục: một đối tượng mysqli được trả về bởi mysqli_connect () hoặc mysqli_init ()

EXPLAIN8

query

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

EXPLAIN9

CALL0

CALL1

$mysql0

Trả về giá trị

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.

CALL3

CALL4

CALL5

$mysql0

Ví dụ

Ví dụ #1 MySQLI :: Multi_Query () Ví dụ

CALL7

CALL8

CALL9

SELECT0

SELECT1

$mysql0

Phong cách thủ tục

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

SELECT3

SELECT4

SELECT5

SELECT6

Xem thêm

Trả về $query0 nếu câu lệnh đầu tiên thất bại. Để truy xuất các lỗi tiếp theo từ các câu lệnh khác, bạn phải gọi mysqli_next_result () trước.

SELECT7

SELECT8

SELECT9

mysql0

mysql1

mysql2

mysql3

$mysql0

Ví dụ

Ví dụ #1 MySQLI :: Multi_Query () Ví dụ

mysql5

mysql6

$mysql0

Phong cách thủ tục

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

mysql8

mysql9

query0

query1

query2

query3

query4

$mysql0

Xem thêm

Ví dụ #1 MySQLI :: Multi_Query () Ví dụ

query6

query7

query8

query9

Phong cách thủ tục

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

$query00

$query01

$query02

$query03

$query04

$query05

$query06

$query07

$query08

$mysql0

Xem thêm

Một chuỗi chứa các truy vấn sẽ được thực thi. Nhiều truy vấn phải được phân tách bằng dấu chấm phẩy.

$query10

Trả về giá trị

7 năm trước

$query11

$query12

$mysql0