一、PHP连接数据库
准备工作
(默认使用了xampp)打开xampp-control,依次打开(注:此处我在外部开启过另一个mysql,所以这里无法启动):
在xampp目录下的htdocs文件里面,新建立一个connect2mysql.php文件。
编写连接代码
注意:不同版本的php的区别
① 需确定自己的php版本,若版本在7。几以上,应该使用mysqli_connect(),因为此版本以上已经舍弃mysql_connect(),若不是则应该使用mysql_connect()。
② mysqli_error()与mysql_error()区别:
mysqli_error()括号中有一个参数(连接数据库的变量),
mysql_error()括号中无变量
③ mysql_query()和mysqli_query()的区别:
mysqli_query(connection,数据库执行语言);
mysql_query(数据库执行语言,connection)
④ mysqli_select_db()和mysql_select_db()区别:
mysqli_select_db(connection,数据库名称);
mysql_select_db(数据库名称,connection)
)
之后记得保存关闭。
测试
打开浏览器,登入http://localhost:8081/my_db.php,(其中localhost:后面的是连接到数据库的端口号)
运行成功
二、建立新数据库表
之后在原代码处进行修改,即成功连接数据库之后,关闭数据库之前:
建立一个数据库
mysqli_query中第二个参数为数据库语言,意思为建立一个名为"php_db"的数据库
测试
此时再通过navicat查看,不了解可查询:navicat相关的知识用法
成功
建立一个数据表
其中mysqli_select_db()是在建立数据库连接的基础上选择其中的某个数据库(库名为第二个参数);
而stu_id int primary key意思为将stu_id设为主键,主键唯一即不会重复
而$sql变量代表的也是数据库语言,创建一个名为test的表格:
三、数据表的增删查改
注意 下面缺少遇到错误情况下的处理方法,只是简单的对已有数据的处理
增加数据
删除数据
在删除数据前再加入几个数据:
删除test表中的stu_id为2的学生,执行之后:
查看数据
其中$row=mysqli_fetch_assoc()是对函数里面参数的遍历,而var_dump()则是将row的值打印出显示在网页上:
更改数据
指定将学号为1的学生名字改为李四(原为张三)
四、全代码
<?php
//建立一个变量con,
//mysqli_connect("填localhost或者127.0.0.1","规定登录所使用的用户名","自己的数据库密码")
$con = mysqli_connect("localhost","root","19990911");
//判断con是否成功连接数据库
if(!$con){
die('Could not connect:'.mysqli_error($con));
}
//create mysql
if(!(mysqli_query($con,"create database php_db"))){
echo "error in create database:".mysqli_error($con);
}
//choise which database
mysqli_select_db($con,"php_db");
//create a table test in php_db
$sql = "create table test
(
stu_id int not null primary key,
stu_name varchar(10),
stu_score int
)";
mysqli_query($con,$sql);
//insert into test
$sql = "insert into test
values(3,'张三',100)";
mysqli_query($con,$sql);
//update data
$sql = "update test set stu_name='李四' where stu_id=1";
mysqli_query($con,$sql);
//delete data
$sql = "delete from test where stu_id=2";
mysqli_query($con,$sql);
//check data
$sql = "select * from test";
$query=mysqli_query($con,$sql);
while ($row=mysqli_fetch_assoc($query)){
//打印结果集
var_dump($row);
}
//释放结果集
mysqli_free_result($query);
//关闭数据库
mysqli_close($con);
?>