亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP MySQL memasukkan beberapa keping data

Gunakan MySQLi dan PDO untuk memasukkan berbilang keping data ke dalam MySQL

Fungsi mysqli_multi_query() boleh digunakan untuk melaksanakan berbilang pernyataan SQL.

Contoh berikut menambah tiga rekod baharu pada jadual "MyGuests":

Contoh (MySQLi - Berorientasikan Objek)

rreee

Sila Ambil perhatian bahawa setiap pernyataan SQL mesti dipisahkan dengan koma bertitik.

Instance (MySQLi - Berorientasikan Prosedur)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創(chuàng)建鏈接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查鏈接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";
if ($conn->multi_query($sql) === TRUE) {
    echo "新記錄插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

Instance (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創(chuàng)建鏈接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 檢查鏈接
if (!$conn) {
    die("連接失敗: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";
if (mysqli_multi_query($conn, $sql)) {
    echo "新記錄插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>

Menggunakan pernyataan yang disediakan

Sambungan mysqli menyediakan cara kedua untuk memasukkan pernyataan.

Kami boleh menyediakan penyata dan mengikat parameter.

Sambungan mysql boleh menghantar pernyataan atau pertanyaan ke pangkalan data mysql tanpa data. Anda boleh mengaitkan atau "mengikat" pembolehubah secara nematik.

Contoh (MySQLi menggunakan pernyataan yang disediakan)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try 
{    
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);    
// set the PDO error mode to exception   
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
// 開始事務(wù)    
$conn->beginTransaction();   
 // SQL 語句    
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)     
VALUES ('John', 'Doe', 'john@example.com')");    
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)     
VALUES ('Mary', 'Moe', 'mary@example.com')");    
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)     
VALUES ('Julie', 'Dooley', 'julie@example.com')");    
// 提交事務(wù)    
$conn->commit();    
echo "新記錄插入成功";
}
catch(PDOException $e)
{    
// 如果執(zhí)行失敗回滾    
$conn->rollback();   
echo $sql . "<br>" . $e->getMessage();
}$conn = null;
?>

Kita dapat melihat bahawa modularisasi digunakan untuk menyelesaikan masalah dalam contoh di atas. Kita boleh mencapai pembacaan dan pengurusan yang lebih mudah dengan mencipta blok kod.

Beri perhatian kepada pengikatan parameter. Mari kita lihat kod dalam mysqli_stmt_bind_param(): >Fungsi ini mengikat pertanyaan parameter dan menghantar parameter ke pangkalan data. Parameter kedua ialah "sss" . Senarai berikut menunjukkan jenis parameter. Watak s memberitahu mysql bahawa parameter adalah rentetan.

boleh menjadi empat parameter berikut: i - integer

d - nombor titik terapung ketepatan dua kali ganda

s - rentetan

b - Nilai Boolean

Setiap parameter mesti menentukan jenis untuk memastikan keselamatan data. Pertimbangan jenis boleh mengurangkan risiko kelemahan suntikan SQL.

Meneruskan pembelajaran
||
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 創(chuàng)建連接 $conn = new mysqli($servername, $username, $password, $dbname); // 檢測連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } else { $sql = "INSERT INTO MyGuests VALUES(?, ?, ?)"; // 為 mysqli_stmt_prepare() 初始化 statement 對(duì)象 $stmt = mysqli_stmt_init($conn); //預(yù)處理語句 if (mysqli_stmt_prepare($stmt, $sql)) { // 綁定參數(shù) mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email); // 設(shè)置參數(shù)并執(zhí)行 $firstname = 'John'; $lastname = 'Doe'; $email = 'john@example.com'; mysqli_stmt_execute($stmt); $firstname = 'Mary'; $lastname = 'Moe'; $email = 'mary@example.com'; mysqli_stmt_execute($stmt); $firstname = 'Julie'; $lastname = 'Dooley'; $email = 'julie@example.com'; mysqli_stmt_execute($stmt); } } ?>