Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Secara Bebas dalam PHP?

Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Secara Bebas dalam PHP?

DDD
DDDasal
2024-12-03 06:10:10169semak imbas

How Can I Execute Multiple MySQL Queries Independently in PHP?

Melaksanakan Berbilang Pertanyaan MySQL Sebagai Satu Menggunakan PHP

Masalah:

Anda perlu melaksanakan dua pertanyaan MySQL berasingan dan mengendalikan keputusan mereka secara bebas dalam PHP. Pertanyaannya ialah:

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();

Jawapan:

Menggunakan sambungan mysql_ standard dalam PHP, tidak mungkin untuk melaksanakan berbilang pertanyaan sebagai satu transaksi. Walau bagaimanapun, anda boleh mencapai hasil yang diingini dengan mengikuti langkah berikut:

  1. Lakukan pertanyaan pertama:
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;";
$result1 = mysql_query($query1);
  1. Laksanakan yang kedua pertanyaan:
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
  1. Ambil hasil pertanyaan pertama:
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
  1. Ambil keputusan yang kedua pertanyaan:
$totalRows = mysql_fetch_row($result2)[0];

Dengan mengikut langkah ini, anda boleh melaksanakan kedua-dua pertanyaan secara bebas dan mengendalikan keputusannya secara berasingan. Ambil perhatian bahawa pendekatan ini tidak secekap melaksanakannya sebagai satu transaksi, tetapi ia adalah satu-satunya cara untuk mencapai hasil yang diingini menggunakan sambungan mysql_.

Penyelesaian Alternatif (Ditamatkan):

Kemas kini: Sebelum ini difikirkan mungkin untuk melaksanakan berbilang pertanyaan dalam satu pernyataan menggunakan mysql_connect() fungsi dengan bendera. Walau bagaimanapun, kaedah ini telah ditamatkan dan tidak boleh digunakan.

Penyelesaian Moden:

Untuk aplikasi PHP moden, disyorkan untuk menggunakan PDO (Data PHP Objects) sambungan untuk interaksi pangkalan data. PDO menyediakan cara yang lebih berorientasikan objek dan konsisten untuk melaksanakan pertanyaan SQL dan mendapatkan keputusannya. Menggunakan PDO, anda boleh melaksanakan dua pertanyaan seperti berikut:

$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt1 = $pdo->prepare($query1);
$stmt2 = $pdo->prepare($query2);

$stmt1->execute();
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);

$stmt2->execute();
$totalRows = $stmt2->fetchColumn();

Penyelesaian ini lebih cekap dan lebih mudah digunakan daripada sambungan mysql_ yang lebih lama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Secara Bebas dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn