當前位置 : IT培訓網 > PHP開發 > php教程 > PHP教程之PHP MySQL 插入多條數據

PHP教程之PHP MySQL 插入多條數據

時間:2016-12-02 11:25:05??來源:php培訓網??作者:鄭州IT培訓網??已有:名學員訪問該課程
今天,IT培訓網小編給大家介紹的是PHP教程之PHP MySQL 插入多條數據。相對于其他語言,PHP開發是比較簡單的,但是其重要性不低于任何一種語言。所以,想要學習的小伙伴們加油了。

今天,IT培訓網小編給大家介紹的是PHP教程之PHP MySQL 插入多條數據。相對于其他語言,PHP開發是比較簡單的,但是其重要性不低于任何一種語言。所以,想要學習的小伙伴們加油了。

使用 MySQLi 和 PDO 向 MySQL 插入多條數據

mysqli_multi_query() 函數可用來執行多條SQL語句。

以下實例向 "MyGuests" 表添加了三條新的記錄:

實例 (MySQLi - 面向對象)

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 創建鏈接

$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();

?>

請注意,每個SQL語句必須用分號隔開。

實例 (MySQLi - 面向過程)

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 創建鏈接

$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);

?>

實例 (PDO)

<?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);

// 開始事務

$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')");

// 提交事務

$conn->commit();

echo "新記錄插入成功";

}

catch(PDOException $e)

{

// 如果執行失敗回滾

$conn->rollback();

echo $sql . "<br>" . $e->getMessage();

}

$conn = null;

?>

使用預處理語句

mysqli 擴展提供了第二種方式用于插入語句。

我們可以預處理語句及綁定參數。

mysql 擴展可以不帶數據發送語句或查詢到mysql數據庫。 你可以向列關聯或 "綁定" 變量。

實例 (MySQLi 使用預處理語句)

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 創建連接

$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 對象

$stmt = mysqli_stmt_init($conn);

//預處理語句

if (mysqli_stmt_prepare($stmt, $sql)) {

// 綁定參數

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

// 設置參數并執行

$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);

}

}

?>

我們可以看到以上實例中使用模塊化來處理問題。我們可以通過創建代碼塊實現更簡單的讀取和管理。

注意參數的綁定。讓我們看下 mysqli_stmt_bind_param() 中的代碼:

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

該函數綁定參數查詢并將參數傳遞給數據庫。第二個參數是 "sss" 。以下列表展示了參數的類型。 s 字符告訴 mysql 參數是字符串。

可以是以下四種參數:

i - 整數

d - 雙精度浮點數

s - 字符串

b - 布爾值

每個參數必須指定類型,來保證數據的安全性。通過類型的判斷可以減少SQL注入漏洞帶來的風險。

勤學如春起之苗,希望大家好好學習,早日掌握PHP教程基礎知識,成為期盼的PHP開發工程師,成為一個合格的職場人。

頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
------分隔線----------------------------
PHP 教程
1、PHP 基礎
1.1 PHP 簡介
1.2 PHP 安裝
1.3 PHP 語法
1.4 PHP 變量
1.5 PHP echo/print
1.6 PHP 數據類型
1.7 PHP 常量
1.8 PHP 字符串
1.9 PHP 運算符
1.10 PHP If...Else
1.11 PHP Switch
1.12 PHP 數組
1.13 PHP 數組排序
1.14 PHP 超級全局變量
1.15 PHP While 循環
1.16 PHP For 循環
1.17 PHP 函數
1.18 PHP 魔術變量
1.19 PHP 命名空間
1.20 PHP 面向對象
2、PHP 表單
2.1 PHP 表單
2.2 PHP 表單驗證
2.3 PHP 表單 - 必需字段
2.4 PHP 表單 - 驗證郵件和URL
2.5 PHP 完整表單實例
2.6 PHP $_GET 變量
2.7 PHP $_POST 變量
3、PHP 高級教程
3.1 PHP 多維數組
3.2 PHP 日期
3.3 PHP 包含
3.4 PHP 文件
3.5 PHP 文件上傳
3.6 PHP Cookie
3.7 PHP Session
3.8 PHP E-mail
3.9 PHP 安全 E-mail
3.10 PHP Error
3.11 PHP 過濾器
3.12 PHP 高級過濾器
3.13 PHP JSON
4、PHP 7 新特性
4.1 PHP 7 新特性
5、PHP 數據庫
5.1 PHP MySQL 簡介
5.2 PHP MySQL 連接
5.3 PHP MySQL 創建數據庫
5.4 PHP MySQL 創建數據表
5.5 PHP MySQL 插入數據
5.6 PHP MySQL 插入多條數據
5.7 PHP MySQL 預處理語句
5.8 PHP MySQL 讀取數據
5.9 PHP MySQL Where
5.10 PHP MySQL Order By
5.11 PHP MySQL Update
5.12 PHP MySQL Delete
5.13 PHP ODBC
6、PHP XML
6.1 XML Expat Parser
6.2 XML DOM
6.3 XML SimpleXML
7、PHP 與 AJAX
7.1 AJAX 簡介
7.2 AJAX 與PHP
7.3 AJAX 數據庫
7.4 AJAX XML
7.5 AJAX 實時搜索
7.6 AJAX RSS Reader
7.7 AJAX 投票
五月情天