Bagaimana untuk menukar mysql kepada mysqli
P粉124070451
2023-07-27 23:56:06
<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>
(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:
menjadi:
Maksudnya, banyak pemeriksaan diperlukan.
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。
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:
Selepas melengkapkan langkah ini, cuba laksanakan versi baharu skrip anda... dan semak sama ada semuanya berfungsi; jika tidak... sudah tiba masanya untuk mencari pepijat ;-)