美文网首页
PHP 新手入门指南 - 通过 PDO 插入数据

PHP 新手入门指南 - 通过 PDO 插入数据

作者: chansey | 来源:发表于2017-06-25 17:53 被阅读704次

之前系列中内容有介绍过 PDO 进行数据库查询并显示数据,这回将描述如何通过它向表中插入数据。

小实践

接下的内容都是建立在之前系列内容的代码基础上。

首先,在之前的数据库 mytodo 数据库下建立一张 users 表 ,结构如下:

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

通过数据库客户端(比如 Sequel Pro )来创建表也会很方便。

接下来,我们需要调整 QueryBuilder.php,会增加一些代码实现插入数据库相关的操作。

<?php 

class QueryBuilder
{
    protected $pdo;

    public function __construct($pdo)
    {
        $this->pdo = $pdo;
    }

    public function selectAll($table)
    {
        $statement = $this->pdo->prepare("select * from {$table}");

        $statement->execute();

        return $statement->fetchAll(PDO::FETCH_CLASS);
    }

    public function insert($table, $parameters)
    {
        $sql = sprintf(
            'insert into %s(%s) values(%s)',
            $table,
            implode(', ', array_keys($parameters)),
            ':' . implode(', :', array_keys($parameters))
        );

        try {
            $statement = $this->pdo->prepare($sql);

            $statement->execute($parameters);
        } catch (Exception $e) {
            die('Whoops, something went wrong.'.$e->getMessage());
        }
    }
}

这里新增了 insert 方法,该方法会拼接传入的表名以及列参数信息成 SQL 语句,通过 PDO 执行操作。

这里使用了 try...catch 代码块用于捕获数据库操作中存在的异常。

我们的提交表单的请求会执行到 controllers/add-name.php 中:

<?php

$app['database']->insert('users', [
    'name' => $_POST['name']
]);

header('Location: /');

获取 POST 请求参数信息,向 users 表插入用户信息。


通过上面的操作,我们已经可以完成提交表单插入数据到数据表,接下来是读取这些数据显示在页面上。

首先,在 controllers/index.php 读取数据:

<?php

$users = $app['database']->selectAll('users');

require "views/index.view.php";

其次,在页面 views/index.view.php 上添加输出代码:

<?php require('partials/head.php'); ?>

<?php foreach ($users as $user) : ?>
    <li><?= $user->name; ?></li>
<?php endforeach; ?>

<h1>Submit Your Name</h1>

<form action="/names" method="POST">
    <input type="text" name="name">
    <button type="Submit">Submit</button>
</form>

<?php require('partials/footer.php'); ?>

运行程序感受一下。

相关文章

  • PHP 新手入门指南 - 通过 PDO 插入数据

    之前系列中内容有介绍过 PDO 进行数据库查询并显示数据,这回将描述如何通过它向表中插入数据。 小实践 接下的内容...

  • PDO(PHP数据对象)

    一、PDO概述 1、PDO简介 1)PDO是PHP数据对象(PHP Data Object)的缩写。2)PDO扩展...

  • PDO:预处理语句(参数化查询)

    @(PDO(PHP data object/PHP数据对象))[PDO|预处理语句|参数化查询] PDO Tuto...

  • 了解PDO

    1、pdo的概念 PDO全称:PHP Data Object ( php 数据对象 )是一系列PHP类,抽象...

  • PHP 新手入门指南 - 介绍 PDO

    PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动...

  • PHP链接ACCESS

    PHP的设置 使用PHP PDO连接Access数据库PDO功能需PHP5以上支持,在使用PDO之前你必须确保安装...

  • 第4天 PDO

    PDO 1. PDO概述 PDO,PHP Data Object,也是PHP操作数据库的一个扩展pdo扩展有一个很...

  • PHP最佳实践之数据库

    PDO扩展 PHP原生提供了PDO扩展,意思是PHP数据对象。 数据库链接和DSN DSN是指数据源名称,提供数据...

  • PDO prepare参数化语句

    PHP数据对象(PHP Data Object PDO)框架最常用的数据库接口之一,通过使用问好占位符来支持参数化...

  • PHP操作数据库——背景

    PHP因为流行,所以有很多操作数据库的方法。 首选的肯定是PDO。PDO一是PHP数据对象(PHP Data Ob...

网友评论

      本文标题:PHP 新手入门指南 - 通过 PDO 插入数据

      本文链接:https://www.haomeiwen.com/subject/gedrcxtx.html