Bagaimana untuk menukar mysql kepada mysqli
P粉124070451
P粉124070451 2023-07-27 23:56:06
0
2
486
<p>基于下面的代码,我用于常规的mysql,我应该如何将其转换为使用mysqli?<ql< query($sql);更改为mysqli_query($sql );,是这样简单吗?</p><p><strong><kod></kod><kod></kod></strong></p <pre class="brush:php;toolbar:false;"><?PHP //dalam fail pengepala saya yang disertakan pada setiap halaman yang saya ada ini $DB["dbName"] = "e-mel"; $DB["host"] = "localhost"; $DB["pengguna"] = "root"; $DB["lulus"] = ""; $link = mysql_connect($DB['host'], $DB['user'], $DB['pass']) or die("<center>Ralat Dalaman Telah Berlaku. Sila laporkan ralat berikut kepada juruweb .<br><br>".mysql_error().."'</center>"); mysql_select_db($DB['dbName']); // bahagian sambungan pengepala tamat // fungsi daripada fail fungsi yang saya jalankan pertanyaan mysql dalam mana-mana halaman. function executeQuery($sql) { $result = mysql_query($sql); jika (mysql_error()) { $error = '<BR><center><font size="+1" face="arial" color="red">Ralat Dalaman Telah Berlaku.<BR> Ralat telah direkodkan untuk semakan</font></center><br>'; jika ($_SESSION['auto_id'] == 1) { $sql_formatted = highlight_string(stripslashes($sql), true); $error .= '<b>Sintaks MySQL Digunakan</b><br>' . $sql_formatted . '<br><br><b>Ralat MySQL Dikembalikan</b><br>' . mysql_error(); } mati($error); } pulangkan $hasil; } // contoh pertanyaan dijalankan pada mana-mana halaman tapak menggunakan fungsi executeQuery $sql='PILIH auto_id DARI friend_reg_user WHERE auto_id=' .$info['auto_id']; $result_member=executequery($sql); if($line_member=mysql_fetch_array($result_member)){ ekstrak($line_member); } lain { header("lokasi: index.php"); keluar; } ?></pra> <p><br /></p>
P粉124070451
P粉124070451

membalas semua(2)
P粉663883862

(Saya sedar ini adalah soalan lama, tetapi ia masih sering muncul...)

Jika anda menggantikan mysql_* dengan mysqli_*, ingat bahawa banyak fungsi mysqli_* memerlukan sambungan pangkalan data.

Contohnya:


mysql_query($query)

menjadi:

mysqli_query($link, $query)

Maksudnya, banyak pemeriksaan diperlukan.

P粉132730839

Pertama, anda mungkin perlu menggantikan setiap panggilan fungsi mysql_* dengan fungsi mysqli_* yang sepadan, sekurang-kurangnya jika anda bersedia menggunakan API prosedur - ini akan menjadi lebih mudah memandangkan anda sudah mempunyai beberapa kod berdasarkan kaedah API MySQL kerana MySQL API adalah prosedural.

Untuk membantu anda, ringkasan fungsi sambungan MySQLi sudah pasti akan sangat membantu.

Contohnya:


  • mysql_connect将被替换为mysqli_connect。
  • mysql_error将根据上下文被替换为mysqli_error和/或mysqli_connect_error。
  • mysql_query将被替换为mysqli_query。
  • Tunggu

NOTA: Untuk sesetengah fungsi, anda mungkin perlu menyemak semula parameter: mungkin terdapat sedikit perbezaan, tetapi saya tidak akan mengatakan banyak: kedua-dua mysql dan mysqli adalah berdasarkan perpustakaan yang sama (libmysql; sekurang-kurangnya untuk PHP

Contohnya:

  • Dengan mysql, anda perlu menggunakan mysql_select_db selepas menyambung untuk menunjukkan pangkalan data yang anda ingin laksanakan pertanyaan pada
  • manakala mysqli membenarkan anda menentukan nama pangkalan data sebagai parameter keempat mysqli_connect.
  • Namun, terdapat juga fungsi mysqli_select_db yang anda boleh gunakan jika anda mahu.

Selepas melengkapkan langkah ini, cuba laksanakan versi baharu skrip anda... dan semak sama ada semuanya berfungsi; jika tidak... sudah tiba masanya untuk mencari pepijat ;-)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan