这段时间学PHP,整理的一些笔记,分批记录在博客上。
一、连接MySQL数据库并选择或创建数据库
通过PHP脚本程序去管理MySQL服务器中的数据,可以通过mysqli扩展功能模块去连接MySQL服务器,办法是调用mysqli_connect()函数,和使用MySQL客户机程序连接MySQL服务器类似。
这里需要说明的是,PHP5.0之前使用的是mysql_connect(),php5.0之后便不再推荐该函数,PHP7.0以后直接废弃,改用mysqli_connect()。格式如下:
resource mysqli_connect ( [string host [, string username [, string password [, string dbname [, int port [,string socket]]]]] )
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0); //禁止错误输出
$link = mysqli_connect('127.0.0.1:3306','用户','密码'); //创建数据库连接
if(mysqli_connect_errno($link)){
printf("Connect Faild:%s\n",mysqli_connect_error($link));
die("连接失败");//连接失败退出程序
}
echo "连接成功\n";
if(mysqli_query($link,"CREATE DATABASE tests")){ //创建数据库
echo "创建数据库 tests 成功\n";//成功后的提示
}else{ //如果失败
echo "创建数据库失败".mysqli_error($link); //出错提示
}
if (mysqli_select_db($link,"tests")) {# 连接数据库tests
echo "连接test数据库成功\n";
}else{
echo "连接失败".mysqli_error($link)."</br>";
}
mysqli_close($link); //最后关闭数据库连接
?>


二、设置字符集
为了避免读取和写入数据时发生数据乱码,除了要将文件格式设置为utf-8无bom头格式,还要将数据库客户端字读集设置为utf8,所以我们需要使用mysqli_set_charset()函数来完成数据库字符集的设定!
if (mysql_set_charset($link,"utf-8")) {//设置字符集为utf-8
echo "设置字符集为utf-8成功\t";
}else{
echo "字符集设置失败".mysqli_error($link);
}
三、对数据库进行增删查改
建表
//设计创建一个新表的SQL语句
$sql = "CREATE TABLE mytests(name VARCHAR(15) NOT NULL ,
age INT NOT NULL ,
sex VARCHAR(15) NOT NULL DEFAULT'男' )";//新增表项姓名,年龄,性别
if(mysqli_query($link,$sql)){
echo "新建表实例成功";
}else{
echo "建表失败".mysqli_error($link);
}
插入数据
//向表内插入数据
//构建SQL语句
$sql = "INSERT INTO mytests(name,age,sex) VALUES ('QLNG',21,'男')";
if(mysqli_query($link,$sql)){
echo "插入数据成功\t,插入数据为:'QLNG',21,'男'";
}else{
echo "插入失败".mysqli_error($link);
}




修改数据
//修改表类数据
//构建SQL 语句,将QLNG的年龄从21改为22
$sql = "UPDATE mytests SET age = 22 WHERE name = 'QLNG' ";
if (mysqli_query($link,$sql)) {
echo "数据修改成功\t";
}else{
echo "数据修改失败".mysqli_error($link);
}




查询数据
//查询数据
//构建SQL语句
$sql = "SELECT * FROM mytests";
echo "查询到:</br>";
if(mysqli_query($link,$sql)){
$test = mysqli_query($link,$sql);
while ($row=mysqli_fetch_assoc($test)) {//解析资源集test
# 输出数组
echo $row['name']."</br>";
echo $row['age']."</br>";
echo $row['sex']."</br>";
}
}else{
echo "查询失败".mysqli_error($link);
}


删除数据
//删除数据
//构建SQL语句删除表
$sql = "DELETE FROM mytests WHERE name='QLNG'";
if(mysqli_query($link,$sql)){
echo "已删除"."</br>";
}else{
echo "删除失败".mysqli_error($link);
}


删除数据库,关闭数据连接
//删除数据库
$sql = "DROP TABLE IF EXISTS mytest";
if (mysqli_query($link,$sql)) {
echo "删除成功";
}else{
echo "出错了".mysqli_error($link);
}
mysqli_close($link); //最后关闭数据库连接
以上便是用PHP操作数据库的入门基本操作,下一篇写进阶。博主菜鸡,如有遗漏疏忽,欢迎大家指正。
全部代码如下:
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0); //禁止错误输出
$link = mysqli_connect('127.0.0.1:3306','用户','密码'); //创建数据库连接
if(mysqli_connect_errno($link)){
printf("Connect Faild:%s\n",mysqli_connect_error($link));
die("连接失败");//连接失败退出程序
}
echo "连接成功\n";
if (mysqli_set_charset($link,"utf8")) {//设置字符集为utf-8
echo "设置字符集为utf-8成功\t";
}else{
echo "字符集设置失败".mysqli_error($link);
}
if(mysqli_query($link,"CREATE DATABASE tests")){ //创建数据库
echo "创建数据库 tests 成功\n";//成功后的提示
}else{ //如果失败
echo "创建数据库失败".mysqli_error($link); //出错提示
}
if (mysqli_select_db($link,"tests")) {# 连接数据库tests
echo "连接test数据库成功\n";
}else{
echo "连接失败".mysqli_error($link)."\n";
}
//设计创建一个新表的SQL语句
$sql = "CREATE TABLE mytests(name VARCHAR(15) NOT NULL ,
age INT NOT NULL ,
sex VARCHAR(15) NOT NULL DEFAULT'男' )";//新增表项姓名,年龄,性别
if(mysqli_query($link,$sql)){
echo "新建表实例成功";
}else{
echo "建表失败".mysqli_error($link);
}
//查看数据库和表
$sql = "SHOW TABLE mytests";
if(mysqli_query($link,$sql)){
echo "查看数据库:\n";
}else{
echo "查看操作失败".mysqli_error($link);
}
//向表内插入数据
//构建SQL语句
$sql = "INSERT INTO mytests(name,age,sex) VALUES ('QLNG',21,'男')";
if(mysqli_query($link,$sql)){
echo "插入数据成功\t,插入数据为:'QLNG',21,'男'";
}else{
echo "插入失败".mysqli_error($link);
}
//修改表类数据
//构建SQL 语句,将QLNG的年龄从21改为22
$sql = "UPDATE mytests SET age = 22 WHERE name = 'QLNG' ";
if (mysqli_query($link,$sql)) {
echo "数据修改成功\t";
}else{
echo "数据修改失败".mysqli_error($link);
}
//查询数据
//构建SQL语句
$sql = "SELECT * FROM mytests";
echo "查询到:</br>";
if(mysqli_query($link,$sql)){
$test = mysqli_query($link,$sql);
while ($row=mysqli_fetch_assoc($test)) {//解析资源集test
# 输出数组
echo $row['name']."</br>";
echo $row['age']."</br>";
echo $row['sex']."</br>";
}
}else{
echo "查询失败".mysqli_error($link);
}
//删除数据
//构建SQL语句删除表
$sql = "DELETE FROM mytests WHERE name='QLNG'";
if(mysqli_query($link,$sql)){
echo "已删除"."</br>";
}else{
echo "删除失败".mysqli_error($link);
}
//删除数据库
$sql = "DROP TABLE IF EXISTS mytest";
if (mysqli_query($link,$sql)) {
echo "删除成功";
}else{
echo "出错了".mysqli_error($link);
}
mysqli_close($link); //最后关闭数据库连接
?>

