博客列表 >0507用mysqli 操作数据库

0507用mysqli 操作数据库

扬美刘
扬美刘原创
2020年05月08日 14:18:47679浏览

myqsqli 链接数据库

  • mysqli链接数据库需要四大参数
  • 数据库的主机名: host
  • 用户名: username
  • 用户密码: password
  • 默认的数据库 :dbname
  • 格式:$mysqli = new mysqli($host, $username, $password, $dbname);
  • 应用例子
    1. // mysqli联系数据库
    2. $mysqli = new mysqli('localhost', 'root', 'root', 'phpdbname');
    3. // 判断是否联接成功
    4. if ($mysqli-> connect_arrno) echo $mysqli->connect_error;
    5. // 如果($mysqli-> connect_arrno)为真(即就是有错误),打印错误信息$mysqli->connect_error
    参数写在config.php文件中,再通过connet.php文件 require 到文件中,如:
    1. require 'connect.php';

操作数据库

1)新增

sql语句格式:INSERT 表名 (字段1,字段2) VALUES (值1,值2),例如
$sql= “INSERT user (username,password,sex,,tel) VALUES (‘liu’,’123456’,’1’,’13977788822’)”;

  1. // 首先要把获得的数据转化为字符串;形式如
  2. $data="'liu','123456','1','13977788822'";
  3. $sql = "INSERT `user` (`username`,`password`,`sex`,,`tel`) VALUES ($data)";
  4. // 然后,操作
  5. $mysqli->query($sql);
  6. // 然后关闭连接
  7. $mysqli->close();
  8. // 在实际应用中,还需要判断是否成功,提示操作结果,完整的例子如下
  9. if ($mysqli->query($sql)) {
  10. if ($mysqli->affected_rows > 0) {
  11. echo '加入成功 ' . $mysqli->affected_rows . ' 条记录, 新增记录主键ID: ' . $mysqli->insert_id;
  12. }
  13. } else {
  14. die('加入失败'. $mysqli->errno . ' : ' . $mysqli->error);
  15. }

2)查询

sql语句格式:SELECT * FROM 表名 WHERE 条件;例如:

  1. $sql = "SELECT `id`, `username`,`tel` FROM `user` WHERE `sex` = '1' ";
  2. // 然后操作数据库
  3. $mysqli_result = $mysqli->query($sql);
  4. $staff = $mysqli_result->fetch_assoc())
  5. // 然后关闭连接
  6. $mysqli->close();
  7. // 在实际应用中,还需要判断是否成功,并打印成希望的格式,完整的例子如下
  8. if ($mysqli_result && $mysqli_result->num_rows > 0 ) {
  9. while ($staff = $mysqli_result->fetch_assoc()) {
  10. printf('<pre>%s</pre>', print_r($staff, true));
  11. }
  12. } else {
  13. echo '查无数据';
  14. }
  15. // 如果是一次性查询出所有数据,可以用把上面的
  16. // $mysqli_result->fetch_assoc() 更换成 $mysqli_result->fetch_all()
  17. // 然后用foreach循环读出各条数据,用vprintf打印结果
  18. // 应用例子如下
  19. if ($mysqli_result && $mysqli_result->num_rows > 0 ) {
  20. $staffs = $mysqli_result->fetch_all();
  21. foreach ($staffs as $staff) {
  22. vprintf('<li>编号: %s , 姓名: %s, 电话: %s</li>', $staff);
  23. }
  24. } else {
  25. echo '查无数据';
  26. }

3)修改

sql语句格式:UPDATE 表名 SET 字段=值 WHERE 条件;例如:

  1. $sql = "UPDATE `user` SET tel='12345678912' WHERE `id` = 1";

在实际应用中,要考虑更新多个字段,以及判断更新是否成功,给用户提标操作结果
应用例子如下

  1. $data =[tel='123456789']
  2. $sql = "UPDATE `staffs` SET " . $data . " WHERE `id` = 1";
  3. if ($mysqli->query($sql)) {
  4. if ($mysqli->affected_rows > 0) {
  5. echo '更新成功 ' . $mysqli->affected_rows . ' 条记录';
  6. }
  7. } else {
  8. die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
  9. }

4)删除

sql语句格式:DELETE FROM 表名 WHERE 条件;例如:

  1. $sql = "DELETE FROM `user` WHERE `id` = 2";

在实际应用中,要判断删除是否成功,给用户提标操作结果
应用例子如下

  1. $sql = "DELETE FROM `usr` WHERE `id` = 2";
  2. if ($mysqli->query($sql)) {
  3. if ($mysqli->affected_rows > 0) {
  4. echo '删除成功';
  5. }
  6. } else {
  7. die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
  8. }

关闭数据库

$mysqli->close();

总结

  • 1)数据库操作有一定的格式,要熟记下各种操作的格式
  • 2)经常需要用到函数处理数据,把数组转为需要的字符串形工,熟悉应用不同函数将会大大提升工作效率
  • 3)注意判断操作结果并返回给用户
  • 4)进一步拓展mqsqli的语化
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议