批改状态:合格
老师批语:先写熟悉, 遇到了就知道怎么办了
一、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);
}
?>四、总结:这章的内容还是能看明白,如何运用自如,还是需要在实操中加强运用。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号