PHP ialah bahasa skrip sebelah pelayan yang popular yang boleh digunakan untuk membina pelbagai jenis aplikasi web, termasuk tapak web dinamik, aplikasi web dan tapak e-dagang. Pangkalan data adalah teras kepada mana-mana aplikasi web yang bercita-cita tinggi, digunakan untuk menyimpan dan mengurus data yang diperlukan oleh aplikasi.
PHP mempunyai banyak fungsi dan sambungan untuk berinteraksi dengan pangkalan data. Dalam artikel ini, kami akan memperkenalkan beberapa petua tentang menggunakan fungsi operasi pangkalan data PHP untuk membantu anda menggunakan fungsi ini dengan lebih baik untuk berinteraksi dengan pangkalan data.
Fungsi yang paling biasa digunakan untuk menyambung ke pangkalan data menggunakan PHP ialah mysqli_connect(). Prototaip fungsi ini ialah:
mysqli mysqli_connect ( string $host , string $username , string $passwd , string $dbname [, int $port = 3306 [, string $socket = '' ]] )
Antaranya, $host mewakili nama hos atau alamat IP pangkalan data, $username dan $passwd ialah nama pengguna dan kata laluan pangkalan data, $dbname ialah nama pangkalan data untuk disambungkan, dan $port ialah nombor port , $socket ialah fail soket.
Sambung ke contoh pangkalan data:
// 连接数据库 $mysqli = mysqli_connect("localhost", "root", "password", "mydatabase"); // 检查连接是否成功 if (!$mysqli) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully";
Setelah berjaya disambungkan ke pangkalan data, anda boleh melaksanakan pelbagai pernyataan SQL. Terdapat dua cara asas untuk melaksanakan pernyataan SQL menggunakan PHP: mysqli_query() dan mysqli_prepare().
2.1 mysqli_query()
Prototaip fungsi mysqli_query() adalah seperti berikut:
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
Antaranya, $link mewakili objek mysqli yang disambungkan ke pangkalan data, dan $query ialah pernyataan SQL yang akan dilaksanakan , $resultmode menentukan jenis set hasil.
Contoh melaksanakan penyataan pertanyaan SQL:
$sql = "SELECT id, name FROM users"; $result = mysqli_query($mysqli, $sql); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 results"; }
Contoh melaksanakan penyata sisipan, kemas kini dan padam SQL:
// 插入数据 $sql = "INSERT INTO users (name, age) VALUES ('John', 25)"; if (mysqli_query($mysqli, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($mysqli); } // 更新数据 $sql = "UPDATE users SET age=30 WHERE name='John'"; if (mysqli_query($mysqli, $sql)) { echo "Record updated successfully"; } else { echo "Error updating record: " . mysqli_error($mysqli); } // 删除数据 $sql = "DELETE FROM users WHERE id=3"; if (mysqli_query($mysqli, $sql)) { echo "Record deleted successfully"; } else { echo "Error deleting record: " . mysqli_error($mysqli); }
2.2 mysqli_prepare()<🎜(>
paremy) ) fungsi Digunakan untuk menyediakan pernyataan pertanyaan SQL, tetapi tidak melaksanakannya secara langsung. Ini boleh membantu mencegah serangan suntikan SQL. Anda perlu mengikat parameter melalui fungsi mysqli_stmt_bind_param() dan laksanakan pertanyaan menggunakan fungsi mysqli_stmt_execute(). Prototaip fungsi mysqli_prepare() adalah seperti berikut:mysqli_stmt mysqli_prepare ( mysqli $link , string $query )
$sql = "SELECT id, name, age FROM users WHERE age > ?"; $stmt = mysqli_prepare($mysqli, $sql); if ($stmt) { mysqli_stmt_bind_param($stmt, "i", $age); $age = 20; mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $id, $name, $age); while (mysqli_stmt_fetch($stmt)) { echo "id: " . $id . ", name: " . $name . ", age: " . $age; } mysqli_stmt_close($stmt); } else { echo "Error in preparing statement: " . mysqli_error($mysqli); }
// 关闭自动提交事务 mysqli_autocommit($mysqli, FALSE); // 执行多个SQL语句 mysqli_query($mysqli, "INSERT INTO users (name, age) VALUES ('John', 25)"); mysqli_query($mysqli, "UPDATE users SET age=30 WHERE name='John'"); // 如果所有SQL语句都成功执行,则提交事务 mysqli_commit($mysqli); echo "Transaction committed successfully"; // 如果任何一个SQL语句执行失败,则回滚事务 mysqli_rollback($mysqli); echo "Transaction rolled back because of failure";
// 关闭数据库连接 mysqli_close($mysqli); echo "Connection closed";
Atas ialah kandungan terperinci Petua menggunakan fungsi operasi pangkalan data PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!