PHP在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
php 继承测试 发布于:2022-05-15 13:48 游戏活动测试代码 发布于:2022-04-29 15:20 PHP代码本 发布于:2022-04-28 19:14 php时间戳和格式化日期之间的转换:date()函数及date_format()函数、strtotime()函数及date_timestamp_get()函数 发布于:2022-04-17 23:01 php调用阿里云api 发布于:2022-03-24 00:40 http://127.0.0.1/upload-labs-master-2022/Pass-14/index.php?action=show_code 发布于:2022-03-23 16:27 生成随机指定长度字符串 发布于:2022-03-09 16:42 php 位运算符 - 一个变量控制多个灯光状态 发布于:2022-03-04 12:00 ThinkPHP代码预览 发布于:2022-03-04 10:26 php token 发布于:2022-02-25 22:47 php解析json 发布于:2022-02-25 16:39 ssq第一个代码 发布于:2022-02-21 23:21 指定时间判断 发布于:2022-02-20 23:49 PHP数组转JSON 发布于:2022-04-29 16:28 【传递引用】- $GLOBALS 与 global 的区别等 发布于:2022-03-10 15:58 php 解释 javascript 变量 发布于:2022-01-29 10:33 处理1688数据结构 发布于:2022-01-15 14:39 序列化字符串转json 发布于:2022-01-07 16:59 这是我的第一个php 发布于:2021-12-20 20:56 array_merge函数联系 发布于:2021-12-12 21:11 PHP md5 pawd 发布于:2021-11-22 13:53 gopay接口加密方法 发布于:2021-11-19 14:03 不动产试试 发布于:2021-11-16 23:27 数据存储结构以及处理流程概览 发布于:2021-11-02 16:06 替换前两张图片 发布于:2021-09-29 10:09 数组交集与合并的使用示例 发布于:2021-09-28 16:27 PHP 拼接数组 发布于:2021-09-14 19:52 测试代码块 发布于:2021-09-09 11:21 Php 运行one 发布于:2021-09-09 00:09 排序算法demo 发布于:2021-08-24 11:15 Navicat解密 发布于:2021-08-19 11:05 随机生成IMEI 发布于:2021-08-18 18:54 php call_user_func 发布于:2021-08-13 19:46 php curl 使用基本认证获取海康摄像头的当前图片:Authorization: Basic 发布于:2021-08-09 11:25 使用 array_map 转换数组 发布于:2021-08-04 12:36 插入排序实现函数 发布于:2021-08-03 15:18 冒泡排序php 发布于:2021-08-03 14:00 php单例 发布于:2021-08-03 10:11 PHP - 命名空间运行实例 发布于:2021-08-02 09:14 从扑克牌中随机抽取5张牌,判断是不是一个顺子 发布于:2021-07-09 16:05 海康摄像头HTTP获取图片Authorization: Digest算法 发布于:2021-08-09 11:23 这是给澈亦的代码 发布于:2021-06-19 16:19 20个1~1000随机数查找50是否在数组里 发布于:2021-06-11 10:55 定义一个数组 发布于:2021-06-11 10:19 服务器信息展示 发布于:2021-06-04 09:23 call_user_func and call_user_func_array 发布于:2021-05-24 11:06 快速排序算法 和 汉诺塔 算法 发布于:2021-05-24 10:15 十大排序算法 发布于:2021-05-22 15:48 价格倒算测试 发布于:2021-05-20 11:36 测试php时间戳范围至2038年 发布于:2021-05-11 11:30 [更多]
显示目录

插入多条数据



PHP MySQL 插入多条数据

一般情况下,INSERT 语句只能向 MySQL 数据库添加一条语句,而本文将介绍如何使用函数批量的向数据表插入多条数据。


使用 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("Connection failed: " . $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 "New  
records created successfully";  
} else {  
echo  
"Error: " . $sql . "  
" . $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("Connection  
failed: " . 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 "New  
records  
created successfully";  
} else {  
echo "Error: "  
. $sql . "  
" . 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')");  


// commit the transaction  
$conn->commit();  

echo "New records created successfully";  
}  
catch(PDOException $e)  
{  

// roll back the transaction if something failed  

$conn->rollback();  

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


$conn = null;  
?>

使用预处理语句

mysqli 扩展提供了第二种方式用于插入语句。

我们可以预处理语句及绑定参数。

mysql 扩展可以不带数据发送语句或查询到mysql数据库。 你可以向列关联或 "绑定" 变量。

Example (MySQLi 使用预处理语句)

<?php  
$servername = "localhost";  
$username = "username";  
$password =  
"password";  
$dbname =  
"myDB";  

// Create connection  
$conn =  
new mysqli($servername, $username, $password, $dbname);  

// Check connection  

if ($conn->connect\_error) {  
die("Connection failed: " . $conn->connect\_error);  
} else {  
$sql = "INSERT INTO  
MyGuests (firstname, lastname, email) 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 - integer

  • d - double

  • s - string

  • b - BLOB

每个参数必须指定类型,来保证数据的安全性。通过类型的判断可以减少SQL注入漏洞带来的风险。

由JSRUN为你提供的PHP在线运行、在线编译工具
        JSRUN提供的PHP在线运行,PHP 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

  • 00:23
注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入:


服务器已安装大部分常用的第依赖库,但仍可能存在一些未被安装的库, 可以通过本窗口立即安装所需依赖库。


请输入依赖库的名称:

请选择语言: