新增数据
首先在mydb数据库中创建student数据表,来方便测试程序,具体SQL如下。
# 创建student表
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 插入测试数据
INSERT INTO `student` VALUES ('1', 'Tom', '18'),('2', 'Jack', '20'),
('3', 'Alex', '16'),('4', 'Andy', '19');
然后使用MySQLi扩展,向student表中插入数据。具体代码如下。
1 <?php
2 $link = mysqli_connect('localhost', 'root', '123456', 'mydb', '3306');
3 if (!$link) {
4 exit(mysqli_connect_error());
5 }
6 // 设置字符集
7 if (!mysqli_set_charset($link, 'utf8')) {
8 exit(mysqli_error($link));
9 }
10 // 选择数据库
11 if (!mysqli_select_db($link, 'mydb')) {
12 exit(mysqli_error($link));
13 }
14 // 执行插入数据的SQL语句
15 $query = 'INSERT INTO `student` VALUES(NULL, \'Bob\', 20)';
16 // 执行写入操作
17 $result = mysqli_query($link, $query);
18 if ($result) {
19 echo mysqli_insert_id($link); // 获取自增id
20 } else {
21 exit(mysqli_error($link));
22 }
23 // 关闭连接
24 mysqli_close($link);
在上述代码中,第17行代码通过mysqli_query()函数执行插入数据的SQL语句,执行完成后,通过mysqli_insert_id()函数获取插入数据的自增id。当在浏览器中运行此脚本时,会在浏览器输出最新一条插入数据的id值。第24行代码通过mysqli_close()函数关闭当前数据库连接。
脚本执行完成后,查询student表中的数据,验证数据是否添加成功。具体SQL语句及执行结果如下所示。
mysql> SELECT * FROM `student`;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | Tom | 18 |
| 2 | Jack | 20 |
| 3 | Alex | 16 |
| 4 | Andy | 19 |
| 5 | Bob | 20 |
+----+------+-----+-----+
5 rows in set(0.00sec)
在上述结果中,最后一条记录是Bob,说明新增数据成功。