一、创建一个数据库: 打开Mysql 软件管理=》 PHPMyAdmin=》安装=》管理 输入用户名密码(如果没有修改密码,密码为root) 创建一个数据库: 二、连接数据库 1.创建一个连接:使用mysqli_connec
一、创建一个数据库:
打开Mysql
软件管理=》 PHPMyAdmin=》安装=》管理
输入用户名密码(如果没有修改密码,密码为root)
创建一个数据库:
二、连接数据库
1.创建一个连接:使用mysqli_connect()函数,几个参数分别是:
mysqli_connect('数据库的地址(在本机一般为localhost)', '用户名', '密码', '数据库的名字', 端口号(一般为3306))
//@用于屏蔽错误$link=@mysqli_connect('localhost', 'root', '011216', 'test', 3306);
2.连接错误时的提示
//返回最后一次连接调用的错误代码,发生错误是0if (mysqli_connect_errno()) { var_dump(mysqli_connect_error());}
3.设置默认字符编码
mysqli_set_charset($link, 'utf-8');
4.选择特定的数据库(在第一步已经指定了数据库为‘test’,此语句可以不写,但若第一步未指定或者中间需要切换数据时,可以使用这句话)
mysqli_select_db($link,'d2');
5.关闭数据库连接(使用完数据库之后一定要关闭)
mysqli_close($link);
三、对数据库进行一些操作
1.执行insert,update,delete等操作:执行成功时会返回一个true
$query='INSERT into userinfo(sno,sname) VALUES("555","王五")';mysqli_query($link, $query);
2.执行查询操作,返回数据库中的数据的操作
$query='select * from userinfo';//用一个变量保存返回的结果$result=mysqli_query($link, $query);
(1)以索引数组的方式获取一条记录(mysqli_fetch_row()函数)
//执行一次返回一条结果,想要多条结果,多执行几遍,因此可以使用循环// var_dump(mysqli_fetch_row($result));// var_dump(mysqli_fetch_row($result));// var_dump(mysqli_fetch_row($result));//使用循环while($data=mysqli_fetch_row($result)){ var_dump($data);}
(2)以关联数组的方式获取一条记录(mysqli_fetch_assoc()函数)
// var_dump(mysqli_fetch_assoc($result));// var_dump(mysqli_fetch_assoc($result));// var_dump(mysqli_fetch_assoc($result));//使用循环while($data=mysqli_fetch_assoc($result)){ var_dump($data);}
(3)以索引数组或关联数组的方式获取一条记录(mysqli_fetch_array($result[,有一个可选参数,默认为索引数组和关联数组都有(MYSQLI_BOTH)]))
var_dump(mysqli_fetch_array($result));
以关联数组获取
var_dump(mysqli_fetch_array($result,MYSQLI_ASSOC));
以索引数组获取
var_dump(mysqli_fetch_array($result,MYSQLI_NUM));
//索引数组// var_dump(mysqli_fetch_array($result,MYSQLI_ASSOC));//关联数组// var_dump(mysqli_fetch_array($result,MYSQLI_NUM));//默认,两个都有// var_dump(mysqli_fetch_array($result));//使用循环while($data=mysqli_fetch_assoc($result)){ var_dump($data);}
(4)以索引数组或关联数组的方式获取全部记录(mysqli_fetch_all($result[,有一个可选参数,默认为索引数组和关联数组都有(MYSQLI_BOTH)])函数)
var_dump(mysqli_fetch_all($result));
以关联数组获取
var_dump(mysqli_fetch_all($result,MYSQLI_ASSOC));
以索引数组获取
var_dump(mysqli_fetch_all($result,MYSQLI_NUM));
3.预执行语句
执行insert,update等操作
(1)准备好需要执行的SQL语句
$query='insert into userinfo(sno,pwd,sname,identity) values(?,?,?,?)';$stmt=mysqli_prepare($link, $query);
(2)绑定变量:mysqli_stmt_bind_param(准备好的sql语句,变量类型(一一对应),自定义变量(有多少个就写多少个,即问号有多少个就写多少个))
i:int类型
d:double类型或float类型
s:字符串类型
b:二进制数据类型
mysqli_stmt_bind_param($stmt, 'sssi', $val1, $val2, $val3, $val4);
(3)对变量赋值
$val1='2002';$val2='666666';$val3='王二';$val4=0;
(4)执行
mysqli_stmt_execute($stmt);
完整代码:
//预执行语句$query='insert into userinfo(sno,pwd,sname,identity) values(?,?,?,?)';//准备要执行的SQL语句$stmt=mysqli_prepare($link, $query);//绑定变量// i:int类型// d:double类型或float类型// s:字符串类型// b:二进制数据类型mysqli_stmt_bind_param($stmt, 'sssi', $val1, $val2, $val3, $val4);$val1='2002';$val2='666666';$val3='王二';$val4=0;//执行准备好的SQL语句mysqli_stmt_execute($stmt);
执行select操作需要具体的结果
(1)准备好需要执行的SQL语句
$query='select * from userinfo where sno=?';$stmt=mysqli_prepare($link, $query);
(2)绑定变量:mysqli_stmt_bind_param(准备好的sql语句,变量类型(一一对应),自定义变量(有多少个就写多少个,即问号有多少个就写多少个))
mysqli_stmt_bind_param($stmt, 's', $val1);
(3)变量赋值
$val1='2001';
(4)执行
mysqli_stmt_execute($stmt);
(5)将执行结果绑定到某个变量中:mysqli_stmt_bind_result(准备好的语句,后面几个分别为自定义变量用来保存查询的结果(返回的结果有几个变量,就需要写几个变量));
mysqli_stmt_bind_result($stmt,$sno,$pwd,$sname,$identity);
(6)抓取
mysqli_stmt_fetch($stmt);
(7)输出
echo "{$sno}
{$pwd}
{$sname}
{$identity}";
完整代码:
$query='select * from userinfo where sno=?';$stmt=mysqli_prepare($link, $query);mysqli_stmt_bind_param($stmt, 's', $val1);$val1='2001';//如果执行成功if(mysqli_stmt_execute($stmt)){ //将执行结果绑定到某个变量中 //第一个变量为准备好的语句,后面几个分别为自定义变量用来保存查询的结果 mysqli_stmt_bind_result($stmt,$sno,$pwd,$sname,$identity); //抓取 while(mysqli_stmt_fetch($stmt)){ echo "{$sno}
{$pwd}
{$sname}
{$identity}"; }}
总结:
php//设置页面的字符编码header('Conten-type:text/html;charset=utf-8');//与mysql连接//@用于屏蔽错误//运行时自行修改数据库密码和数据库$link=@mysqli_connect('localhost', 'root', 密码, 数据库, 3306);//返回最后一次连接调用的错误代码,发生错误是0if (mysqli_connect_errno()) { var_dump(mysqli_connect_error());}mysqli_set_charset($link, 'utf-8');//使用特定的数据库//在前面数据库连接的时候已经指定了,可以不用写这句话//但是如果中间需要切换数据库,可以使用这句话//mysqli_select_db($link,'d2');//执行sql语句//(1)执行insert,update,delete等操作// $query='INSERT into userinfo(sno,sname) VALUES("555","王五")';// var_dump(mysqli_query($link, $query));//(2)执行查询操作,返回数据库中的数据的操作// $query='select * from userinfo';//用一个变量保存返回的结果// $result=mysqli_query($link, $query);//1.以索引数组的方式获取一条记录//执行一次返回一条结果,想要多条结果,多执行几遍,因此可以使用循环// var_dump(mysqli_fetch_row($result));// var_dump(mysqli_fetch_row($result));// var_dump(mysqli_fetch_row($result));//使用循环// while($data=mysqli_fetch_row($result)){// var_dump($data);// }//2.以关联数组的方式获取一条记录// var_dump(mysqli_fetch_assoc($result));// var_dump(mysqli_fetch_assoc($result));// var_dump(mysqli_fetch_assoc($result));//使用循环// while($data=mysqli_fetch_assoc($result)){// var_dump($data);// }//3.以索引数组或关联数组的方式获取一条记录//索引数组// var_dump(mysqli_fetch_array($result,MYSQLI_ASSOC));//关联数组// var_dump(mysqli_fetch_array($result,MYSQLI_NUM));//默认,两个都有// var_dump(mysqli_fetch_array($result));//使用循环// while($data=mysqli_fetch_assoc($result)){// var_dump($data);// }//4.以索引数组或关联数组的方式获取全部记录// var_dump(mysqli_fetch_all($result));// var_dump(mysqli_fetch_all($result,MYSQLI_ASSOC));// var_dump(mysqli_fetch_all($result,MYSQLI_NUM));//预执行语句// $query='insert into userinfo(sno,pwd,sname,identity) values(?,?,?,?)';//准备要执行的SQL语句// $stmt=mysqli_prepare($link, $query);//绑定变量// i:int类型// d:double类型或float类型// s:字符串类型// b:二进制数据类型// mysqli_stmt_bind_param($stmt, 'sssi', $val1, $val2, $val3, $val4);// $val1='2002';// $val2='666666';// $val3='王二';// $val4=0;//执行准备好的SQL语句// var_dump(mysqli_stmt_execute($stmt));$query='select * from userinfo where sno=?';$stmt=mysqli_prepare($link, $query);mysqli_stmt_bind_param($stmt, 's', $val1);$val1='2001';//如果执行成功if(mysqli_stmt_execute($stmt)){ //将执行结果绑定到某个变量中 //第一个变量为准备好的语句,后面几个分别为自定义变量用来保存查询的结果 mysqli_stmt_bind_result($stmt,$sno,$pwd,$sname,$identity); //抓取 while(mysqli_stmt_fetch($stmt)){ echo "{$sno}
{$pwd}
{$sname}
{$identity}"; }}//关闭数据库连接mysqli_close($link);
来源地址:https://blog.csdn.net/qq_57633498/article/details/122115932
--结束END--
本文标题: PHP学习——phpstudy数据库连接(数据库创建,操作)
本文链接: https://www.lsjlt.com/news/489908.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0