php插入数据表,PHPMySQL:将数据插入表中

简介:在本教程中,您将学习如何使用PHP PDO将数据插入MySQL表。

推荐参考视频教程:《mysql教程》

下面我们就结合简单的例子给大家介绍。

tasks数据表内容如下:

18b557378e947d352473302566151ee4.png

我们要将数据插入表中,可以按照以下步骤操作:

通过创建PDO对象的新实例连接到MySQL数据库。

构造一个MySQL INSERT语句。

调用exec() PDO对象的方法。

PHP MySQL插入数据示例:在表示例中插入一个新行<?php

class InsertDataDemo {

const DB_HOST = 'localhost';

const DB_NAME = 'classicmodels';

const DB_USER = 'root';

const DB_PASSWORD = '';

private $pdo = null;

/**

* Open the database connection

*/

public function __construct() {

// open database connection

$conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);

try {

$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);

} catch (PDOException $pe) {

die($pe->getMessage());

}

}

//...

以下示例说明如何在tasks表中插入新行。/**

* Insert a row into a table

* @return

*/

public function insert() {

$sql = "INSERT INTO tasks (

subject,

description,

start_date,

end_date

)

VALUES (

'Learn PHP MySQL Insert Dat',

'PHP MySQL Insert data into a table',

'2013-01-01',

'2013-01-01'

)";

return $this->pdo->exec($sql);

}

定义类InsertDataDemo,该构造函数建立数据库连接,并使用析构函数来关闭数据库连接。

在InsertDataDemo类中,我们定义了一个insert方法,它调用exec() PDO对象的方法来执行INSERT语句。

以下语句创建InsertDataDemo类的实例,并调用insert() 方法以将新行插入到tasks表中。$obj = new InsertDataDemo();

$obj->insert();

让我们查询tasks表中的数据:SELECT *

FROM tasks;

602d6a6d34cd4954303d283324654911.png

PHP MySQL:使用预处理语句示例插入单行

要动态且安全地将值从PHP传递到SQL语句,可以使用PDO预处理语句。

首先,使用带有命名占位符的MySQL语句,如下所示:$sql = 'INSERT INTO tasks (

subject,

description,

start_date,

end_date

)

VALUES (

:subject,

:description,

:start_date,

:end_date

);';

:subject,:description,:startdate和:enddate称为命名占位符。

其次,调用prepare() PDO对象的方法为执行准备SQL语句:$q = $pdo->prepare($sql);

然后,调用execute() 方法并传递一个包含与命名占位符对应的值的数组。$q->execute($task)

把它们放在一起。/**

* Insert a new task into the tasks table

* @param string $subject

* @param string $description

* @param string $startDate

* @param string $endDate

* @return mixed returns false on failure

*/

function insertSingleRow($subject, $description, $startDate, $endDate) {

$task = array(':subject' => $subject,

':description' => $description,

':start_date' => $startDate,

':end_date' => $endDate);

$sql = 'INSERT INTO tasks (

subject,

description,

start_date,

end_date

)

VALUES (

:subject,

:description,

:start_date,

:end_date

);';

$q = $this->pdo->prepare($sql);

return $q->execute($task);

}

现在我们可以将任务的数据传递给insertSingleRow()方法:$obj->insertSingleRow('MySQL PHP Insert Tutorial',

'MySQL PHP Insert using prepared statement',

'2013-01-01',

'2013-01-02');

检查tasks表:

97cf38d540d20e622e261e7adcce0aa0.png

PHP MySQL在表格示例中插入多行

有两种方法可以在表中插入多行:

insertSingleRow() 多次执行该方法。

构造一个INSERT插入多行并执行它的MySQL 语句。

本篇文章就是关于PHP PDO预处理语句将数据插入MySQL表的具体方法介绍,希望对需要的朋友有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值