PHP在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
<html> <head> <title>Example</title> </head> <body> <?php echo “Hello 7777P7HP!”; ?> </body> </html> 发布于:2023-09-19 17:58 测试加解密 发布于:2023-09-18 14:18 去除重复的元素 发布于:2023-09-13 16:49 php 随机红包 发布于:2023-09-02 09:45 PHP第一个程序 发布于:2023-09-01 04:57 php8.0注解 发布于:2023-08-15 16:15 remove emoji 发布于:2023-07-29 22:05 哭我了流量卡 发布于:2023-07-27 12:13 角谷猜想python 发布于:2023-06-26 16:36 navicat密码解密 发布于:2023-06-15 10:46 <?php // 初始化人员编号数组 $numbers = array(1, 2, 3, 4, 5, 6, 7); // 循环报数直到只剩一个人 while (count($numbers) > 1) { // 报数到5的人退出游戏 for ($i = 1; $i <= 5; $i++) { $number = array_shift($numbers); if ($i == 5) { echo "第" . count($numbers) . "轮出局的人是:" . $number . "<br>"; } else { array_push($numbers, $number); } } } // 最后一个留下来的人为要去完成任务的人 echo "最后要去完成任务的人的编号是:" . $numbers[0]; ?> 发布于:2023-06-13 21:09 获取子元素 发布于:2023-08-09 16:25 这段PHP代码初始化了一个包含两个元素的数组$array,都设置为字符串'3'。然后使用foreach循环遍历数组的每个元素。在循环内部,它将字符串'a'赋值给循环变量$v。 但是,由于$v是一个循环变量,在循环中更改其值不会修改数组元素。因此,在循环完成后,数组$array的内容保持不变,两个元素仍然设置为字符串'3'。 发布于:2023-05-26 15:07 eq日志解析 发布于:2023-05-17 11:56 手机号匹配靓号 发布于:2023-05-17 14:37 找猴王游戏 发布于:2023-05-04 16:58 三.PHP常量学习 发布于:2023-05-01 22:47 ### 二.变量 `1.`变量的基本概念。 `2.`变量的使用 `3.`变量的命名规则 `4.`预定义变量 `5.`可变变量 `6.`变量传值 发布于:2023-05-01 21:03 枚举SKU 发布于:2023-04-17 13:00 PHP判断IP是否属于某个网段 发布于:2023-04-07 18:26 php zuoye 发布于:2023-04-07 11:55 雷弟 看这里 发布于:2023-04-03 15:13 PHP - Hello world 发布于:2023-04-01 14:05 HP批量重命名脚本正则测试 发布于:2023-03-22 20:01 校验hash计算结果 发布于:2023-03-21 15:22 校验哈希计算结果 发布于:2023-03-21 15:21 校验hash计算结果 发布于:2023-03-21 15:16 校验运行结果 发布于:2023-03-21 15:00 laravel dca admin 后台管理 左侧目录树导航的实现 发布于:2023-03-02 10:24 php代码测试 发布于:2023-03-02 10:17 判断字符串是否出现 发布于:2023-02-27 00:25 Like you病毒hju 发布于:2023-01-31 21:16 php 判断白天黑夜 发布于:2022-12-29 13:12 根据当前时间判断上午好、下午好 发布于:2022-12-29 13:05 php执行读取文件命令,ststem方法 发布于:2022-12-17 09:04 xor的加密获取新的key 发布于:2022-12-17 08:52 xor的逆向解密 发布于:2022-12-17 08:52 一些编码转换 发布于:2022-12-16 14:06 省职工医保盈亏计算工具 发布于:2022-12-07 09:41 key授权-从索引反解 发布于:2023-08-07 10:36 phpP137,普通方式连接PostgreSQL 发布于:2022-11-18 16:44 phpP124,连接mysql 发布于:2022-11-18 14:33 phpP85,全局函数/变量 发布于:2022-11-18 13:45 phpP81,namespace关键字 发布于:2022-11-17 16:49 phpP75,命名空间 发布于:2022-11-17 16:43 phpP42,析构函数 发布于:2022-11-17 14:47 phpP36,面向对象 发布于:2022-11-17 14:42 phpP35,关键词global 发布于:2022-11-17 14:21 phpP32,回调函数 发布于:2022-11-17 14:11 phpP30函数参数 发布于:2022-11-17 13:47 [更多]
显示目录

插入多条数据



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操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。