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);
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";
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);
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);
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!