建库, 建表
create database demo_db character set utf8;
use demo_db;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`age` tinyint(1) NOT NULL,
`address` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
复制代码
插入测试数据
INSERT INTO `demo_db`.`users`(`id`, `name`, `age`, `address`) VALUES (1, '张三', 18, '北京东城区');
INSERT INTO `demo_db`.`users`(`id`, `name`, `age`, `address`) VALUES (2, '李四', 22, '上海徐汇区');
INSERT INTO `demo_db`.`users`(`id`, `name`, `age`, `address`) VALUES (3, '王五', 23, '郑州金水区');
INSERT INTO `demo_db`.`users`(`id`, `name`, `age`, `address`) VALUES (4, '赵六', 24, '北京西城区');
复制代码
mysqli教程
小彩蛋(已经链接数据库, 可是忘记了密码)
- 找到mysql下的user表
- 算出来新密码对应的加密值
- 刷新权限
flush PRIVILEGES;
- 测试链接
使用mysqli操做数据库
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$conn = mysqli_connect($servername, $username, $password);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
复制代码
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
mysqli_query($conn,"SET NAMES utf8");
$sql = "select * from users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
print_r($row);
}
} else {
echo "0 结果";
}
复制代码
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
mysqli_query($conn,"SET NAMES utf8");
$sql = "insert into users(name,age,address) values('孙七',21,'北京朝阳区')";
$result = mysqli_query($conn, $sql);
if ($result) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
复制代码
- 批量插入数据
- 使用
.=
把多条sql语句链接起来, 注意每条语句, 分号结束
- 使用
mysqli_multi_query()
函数
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
mysqli_query($conn,"SET NAMES utf8");
$sql = "insert into users(name,age,address) values('周八',22,'北京海淀区');";
$sql .= "insert into users(name,age,address) values('吴九',23,'北京石景山区');";
$sql .= "insert into users(name,age,address) values('郑十',24,'北京雄安新区');";
$result = mysqli_multi_query($conn, $sql);
if ($result) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
复制代码
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
mysqli_query($conn,"SET NAMES utf8");
$sql = "update users set age = 28 where name = '张三'";
$result = mysqli_query($conn, $sql);
if ($result) {
echo "修改为功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
复制代码
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "链接成功";
mysqli_query($conn,"SET NAMES utf8");
$sql = "delete from users where name = '张三'";
$result = mysqli_query($conn, $sql);
if ($result) {
echo "删除成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
复制代码
把原来的博客内容保存数据库
CREATE TABLE `blogs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`date` date NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
复制代码
修改原来的代码
<?php
require 'vendor/autoload.php';
use QL\QueryList;
$ql = new QueryList();
function get_tilte_date($url) {
global $ql;
return $ql->get($url)->rules([
'date' => ['header > div > a > time.entry-date.published', 'text'],
'title' => ['header > h2 > a', 'text'],
'url' => ['header > h2 > a', 'href'],
])->queryData();
}
function get_content($url) {
global $ql;
return $ql->get($url)->find('article.post.type-post.status-publish.format-standard.hentry.category-uncategorized')->text();
}
function save_data($content_array) {
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "demo_db";
$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_query($conn,"SET NAMES utf8");
$sql = '';
foreach ($content_array as $key => $value) {
$title = $value['title'];
$date = $value['date'];
$content = $value['content'];
$sql .= "insert into blogs(title,date,content) values(\"{$title}\",\"{$date}\",'{$content}');";
}
$result = mysqli_multi_query($conn,$sql);
var_dump($result);
if ($result) {
echo "写入成功";
}else{
echo "写入失败!!!";
}
}
function start($url) {
$data = get_tilte_date($url);
foreach ($data as $key => $value) {
$data[$key]['content'] = get_content($value['url']);
}
save_data($data);
}
start("https://wordpress-edu-3autumn.localprod.forc.work/");
复制代码
做业
下一节