当前位置 : 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 投票