Bagaimana untuk menyelesaikan ralat sambungan pangkalan data dalam isu keserasian PHP5.6 hingga PHP7.4?

PHPz
Lepaskan: 2023-09-06 14:14:01
asal
1344 orang telah melayarinya

Bagaimana untuk menyelesaikan ralat sambungan pangkalan data dalam isu keserasian PHP5.6 hingga PHP7.4?

Bagaimana untuk menyelesaikan ralat sambungan pangkalan data dalam isu keserasian PHP5.6 hingga PHP7.4?

Dengan kemas kini versi PHP, terdapat isu keserasian daripada PHP5.6 hingga PHP7.4. Salah satu masalah biasa ialah ralat sambungan pangkalan data. Artikel ini akan menerangkan cara menyelesaikan masalah ini dan memberikan contoh kod yang sepadan.

Dalam PHP5.6 dan versi sebelumnya, kami biasanya menggunakan sambungan mysql untuk menyambung dan mengendalikan pangkalan data. Bermula dari PHP7.0, sambungan mysql telah ditamatkan dan digantikan dengan sambungan mysqli dan sambungan PDO. Oleh itu, apabila menaik taraf kod daripada PHP5.6 kepada PHP7.4, kod sambungan pangkalan data perlu diubah suai.

Pertama sekali, jika kod anda menggunakan sambungan mysql, anda perlu menggantikannya dengan sambungan mysqli. Kod untuk mengubah suai sambungan pangkalan data adalah seperti berikut:

// PHP5.6及之前版本的数据库连接代码
$conn = mysql_connect($servername, $username, $password);
mysql_select_db($dbname, $conn);

// 修改为PHP7.4的数据库连接代码
$conn = mysqli_connect($servername, $username, $password, $dbname);
Salin selepas log masuk

Dalam sambungan mysqli, nama fungsi sambungan menjadi "mysqli_connect", dan nama pangkalan data perlu dihantar sebagai parameter keempat.

Selain itu, perlu diingat bahawa bermula dari PHP7.4, penggunaan "localhost" sebagai nama hos semasa menyambung ke pangkalan data tidak lagi disokong. Jika anda menggunakan "localhost" semasa menyambung ke pangkalan data, sambungan akan gagal. Penyelesaian kepada masalah ini adalah untuk menggantikan "localhost" dengan "127.0.0.1" seperti yang ditunjukkan di bawah:

// 使用"127.0.0.1"代替"localhost"连接数据库
$servername = "127.0.0.1";
Salin selepas log masuk

Seterusnya, kita perlu mengubah suai kod yang melaksanakan pertanyaan SQL. Dalam PHP5.6 dan versi sebelumnya, kami biasanya menggunakan fungsi "mysql_query" untuk melaksanakan pertanyaan SQL. Dalam PHP7.4, anda perlu menggunakan fungsi "mysqli_query" untuk melaksanakan pertanyaan. Kod yang diubah suai kelihatan seperti ini:

// PHP5.6及之前版本的SQL查询代码
$result = mysql_query($sql);

// 修改为PHP7.4的SQL查询代码
$result = mysqli_query($conn, $sql);
Salin selepas log masuk

Begitu juga, fungsi "mysql_query" perlu digantikan dengan fungsi "mysqli_query" dan sambungan pangkalan data dihantar ke fungsi sebagai parameter pertama.

Selain sambungan mysqli, sambungan PDO juga merupakan pilihan yang baik untuk menyambung dan mengendalikan pangkalan data. Jika anda menggunakan sambungan PDO dalam kod anda, kod yang perlu mengubah suai sambungan pangkalan data adalah seperti berikut:

// PHP5.6及之前版本的数据库连接代码
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

// 修改为PHP7.4的数据库连接代码
$conn = new PDO("mysqli:host=$servername;dbname=$dbname", $username, $password);
Salin selepas log masuk

Dalam sambungan PDO, kaedah sambungan pangkalan data dilaksanakan dengan membuat seketika kelas PDO dan "mysql" dalam parameter perlu Gantikan dengan "mysqli".

Ringkasnya, untuk menyelesaikan ralat sambungan pangkalan data dalam isu keserasian PHP5.6 hingga PHP7.4, anda perlu menggantikan sambungan mysql dengan sambungan mysqli atau sambungan PDO terlebih dahulu. Dan ambil perhatian bahawa apabila menyambung ke pangkalan data, gantikan "localhost" dengan "127.0.0.1". Selain itu, kod yang melaksanakan pertanyaan SQL perlu diubah suai dengan sewajarnya.

Dengan pengubahsuaian di atas, kod boleh berjaya dinaik taraf daripada PHP5.6 kepada PHP7.4 dan ralat keserasian yang disebabkan oleh sambungan pangkalan data boleh diselesaikan. Saya harap kandungan artikel ini dapat membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat sambungan pangkalan data dalam isu keserasian PHP5.6 hingga PHP7.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!