博客列表 >PHP数据库入门与PDO的增删改写法

PHP数据库入门与PDO的增删改写法

emy
emy原创
2020年05月13日 23:20:18810浏览

一、PHP数据库介绍

PHP数据库,一般用MySQL较多,是一款开源免费的关系型数据库软件。可视化数据库管理软件有Navicat,PHPMyadmin,adminer等。

二、PDO介绍

PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。核心是用于数据库的连接、发送sql语句等。

PDO连接数据库三要素(重要参数):数据源: DSN; 用户名: username;用户密码: password

三、创建数据库,数据表和数据库配置连接文件

1、连接数据库:$pdo = new PDO($dsn, $username, $password);;

DSN: 数据库类型:host=数据库的主机地址;dbname=默认的数据库名称;chart=… ;port= …$dsn = 'mysql:host=localhost;dbname=users';

<?php
// 连接数据库
namespace dali;
use Exception;
use PDO;

// 加载配置参数
$config = require 'data/conn.php';
$type = $config['type'];
$host = $config['host'];
$dbname = $config['dbname'];
$username = $config['username'];
$password = $config['password'];

//数据源
$dsn = $type . ':' . 'host=' . $host . ';dbname=' . $dbname;

try {
// 连接数据库
 $pdo =    new PDO($dsn, $username, $password);
//  var_dump($pdo);
} catch (Exception $e) {
    die($e->getMessage());
}

2、插入语句: $sql = 'INSERT 表名 SET name=?, age=?,.... ';

<?php
        $arr = ['Emy','foshan', 'guangdong', 1589382617];
        array_walk($arr, function(&$item, $key, $length) {
           if ($key < $length-1 )  $item = "'$item'";
        }, count($arr));
        $data = implode(', ', $arr);
        $sql = "INSERT `users` (`name`,`city`,`province`,`add_time`) VALUES ($data)";
        if ($db->query($sql)) {
            if ($db->affected_rows > 0) {
                echo '用户新增成功 ' . $db->affected_rows . ' 条记录, 新增记录主键ID: ' . $db->insert_id;
            } else {
                echo '没有添加新记录';
            }
        } else {
            die('添加失败'. $db->error . ' : ' . $db->error);
        }
    ?>

3、查询语句: $sql = 'SELECT 字段列表 FROM 数据表名称 WHERE 查询条件 ';

<?php
        $sql = 'select * from users ';
        $demo = $db -> query( $sql );
        if ($demo && $demo->num_rows > 0 ) {
        $resl = $demo->fetch_all();
          foreach (demol as $demols) {
              vprintf('<pre>ID=%s;姓名=%s;城市=%s;省份=%s</pre>', $demols);
              }
        } else {
          echo '查询失败';
        }
    ?>

4、更新语句:$sql = "UPDATE 表名 SET 字段=新值 WHERE 更新条件";

<?php
        $arr = ['name'=>'emy', 'city'=>'foshan'];
        array_walk($arr, function(&$item, $key) {
            $item = "`$key` = '$item'";
        });
        $data = implode(', ', $arr);
        $sql = "UPDATE `users` SET " . $data  . " WHERE `id` = 1";
        if ($db->query($sql)) {
            if ($db->affected_rows > 0) {
                echo '成功更新了 ' . $db->affected_rows . ' 条记录';
            } else {
                echo '没有更新任何记录';
            }
        } else {
            die('更新失败'. $db->error . ' : ' . $db->error);
        }
    ?>

5、删除语句:$sql = "DELETE FROM 表名 WHERE 删除条件".

<?php
      $sql = "DELETE FROM `users` WHERE `id` =" . $_GET['id'];
    if ($db->query($sql)) {
        if ($db->affected_rows > 0) {
            echo '成功删除了 id=' .$_GET['id'] . '  的记录';
        } else {
            echo '没有删除任何记录';
        }
    } else {
        die('删除失败'. $db->errno . ' : ' . $db->error);
    }
    ?>

四、总结:这章的内容还是能看明白,如何运用自如,还是需要在实操中加强运用。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议