当前位置:   article > 正文

【深度学习】PHP操作mysql数据库总结_mysql php

mysql php

一.PHP数据库的扩展分类


1.MySQL 扩展是针对 MySQL 4.1.3 或更早版本设计的,是 PHP 与 MySQL数据库交互的早期扩展。由于其不支持 MySQL 数据库服务器的新特性,且安全性差,在项目开发中不建议使用,可用 MySQLi 扩展代替

2.MySQLi 扩展是 MySQL 扩展的增强版,它不仅包含了所有 MySQL 扩展的功能函数,还可以使用 MySQL 新版本中的高级特性。例如,多语句执行和事务的支持,预处理方式完全解决了 SQL 注入问题等。MySQLi 扩展只支持MySQL 数据库,如果不考虑其他数据库,该扩展是一个非常好的选择。

3.PDO 是 PHP Data Objects(数据对象)的简称,它提供了一个统一的 API接口,只要修改其中的 DSN (数据源),就可以实现PHP应用与不同类型数据库服务器之间的交互。
 

二.连接数据库。

1.通过MySQL类库操作数据库的步骤

建立到MySQL的连接-打开指定的数据库-设置默认客户端的字符集-执行SQL查询-释放字符集-关闭连接

三.执行SQL语句

       在完成数据库的连接后,就可以通过 SQL 语句操作数据库了。在 MySQLi扩展中,通常使用 mysqli_query() 函数发送 SQL 语句,获取执行结果。函数的声明方式如下:

 $conn表示通过 mysqli_connect() 函数获取的数据库连接, $sql 表示 SQL 语句。当函数执行 SELECT、SHOW、DESCRIBE 或EXPLAIN 查询时,返回值是查询结果集,而对于其他查询,成功返回 true,失败返回 false。

使用 mysql_query()函数执行 SQL语句,对数据的操作方式主要包括 5种方式
    查询数据:使用select 语句实现数据的查询功能。
    显示数据:使用select 语句显示数据的查询结果。
    插入数据:使用insert into 语句向数据库中插入数据。
    更新数据:使用update 语句更新数据库中的记录。
    删除数据:使用 delete语句删除数据库中的记录!

四.处理结果集


1.当通过 mysqli_query() 函数执行 SQL 语句后,返回的结果集并不能直接使用,需要使用函数从结果集中获取信息,保存为数组。MySQLi 扩展中常用的处理结果集的函数如表所示。

2.在表列举函数中,mysqli_fetch_all() 和 mysqli_fetch_array() 的返回值支持关联数组和索引数组两种形式,函数第 1 个参数表示结果集,第 2 个参数是可选参数,表示返回的数组形式,其值有 MYSQLI_ASSOC、MYSQLI_NUM、MYSQLI_BOTH 三种常量,分别表示关联数组、索引数组,或两者皆有,默认值为 MYSQLI_BOTH
 

3.当需要一次查询出所有的记录时,可以通过 mysqli_fetch_all() 函数来实现

$data = mysqli_fetch_all($result, MYSQLI_ASSOC);

再通过var_dump($data);打印出来。

五.预处理语句。

1.什么是预处理。

MySQLi  扩展中有一种预处理语句的机制,其原理是预先编译 SQL 语句的模板,当执行时只传输有变化的数据。下图演示了预处理语句和传统方式的区别。

图中可以看出,当 PHP 需要执行 SQL 时,传统方式是将发送的数据和 SQL 写在一起,这种方式每条 SQL 都需要经过分析、编译和优化的周期;而预处理语句只需要编译一次用户提交的 SQL 模板,在操作时,发送相关数据即可完成更新操作,这极大地提高了运行效率,而且无需考虑数据中包含特殊字符(如单引号)导致的语法问题。
 

2.预处理相关函数。

a.  mysqi_prepare()函数用于预处理一个待执行的 SQL 语句,函数声明如下:mysqli_stmt mysqli_prepare ( mysqli $link , string $query )参数 $link 表示数据库连接,$query 表示 SQL 语句模板。当函数执行后,成功返回预处理对象,失败返回 false。

b.  在编写SQL语句模板时,其语法是将数据部分使用“?”占位符代替。示例代码如下:
 

PHP操作mysql数据库总结

  1. 一.开启Mysql数据库
  2. 1)php可以通过MySql函数库来操作数据库
  3. 开启mysql扩展
  4. 编辑Php配置文件php.ini
  5. extension_dir="php/ext文件路径"
  6. 启动extension=mysqli选项 在php.ini文件内;
  7. 二.PHP操作Mysql数据库的步骤:
  8. 1.连接mysql数据库服务器
  9. 2.判断是否连接正确
  10. 3.选择数据库
  11. 4.设置字符集编码
  12. 5.准备并执行SQL语句
  13. 6.处理结果集
  14. 7.释放结果集资源,关闭数据库
  15. 三.具体操作mysql数据库
  16. 先要写头部header()汉字编码
  17. 如果数据库中有时间输出的话还要写时区类型
  18. 1.连接数据库
  19. $conn=mysqli_connect(连接数据库的ip:3306,mysql数据库的账号,mysql数据库的密码)
  20. 2.判断是否连接成功
  21. 返回错误号
  22. int mysql_errno([$link]); 中括号中的内容可以省略
  23. 如果为发生任何错误,此函数会返回0
  24. 返回错误信息
  25. string mysqli_connect_error();
  26. 排查mysql数据库的错误信息可以用or die(...错误号.mysql_errno(),错误信息.mysqli_connect_error())来进行连接;
  27. 3.选择数据库
  28. bool mysql_select_db('数据库的名字',[$link])
  29. 4.设置客户端汉字编码
  30. bool mysql_set_charset('utf8',[$link])
  31. 5.执行SQL语句
  32. mixed mysql_query(select(查看表内容)\show(tables查看数据库\
  33. create tabel查看建表)\desc(查看表结构)\insert(添加记录)\
  34. update(更新)\dalete(删除))
  35. 四.处理资源结果集
  36. 1.获取结果集包含的记录数目
  37. int mysql_num_rows($表里记录信息变量)
  38. 2.获取表里的内容以索引数组返回值
  39. array mysql_fetch_row($表里的记录信息变量)
  40. 3.获取表里的内容以关联数组返回值
  41. array mysql_fetch_assoc($表里的记录信息变量)
  42. 4.获取结果集中字段的数目
  43. int mysql_num_fieds($result)
  44. 5.返回结果集中某行记录的某个字段值(默认为首字段)
  45. mysql_result($result, int $row)
  46. int值是从0开始的0 拿某个字段的值
  47. $row写字段名
  48. 五.处理非查询语句
  49. 1.获取插入时受影响行的行数
  50. int mysql_affected_rows()
  51. 2.获取插入时最后插入记录的主键id
  52. int mysql_insert_id()
  53. 六.释放结果集资源
  54. 1.如果是执行的事查询SQL语句查询后必须要释放资源
  55. bool mysql_free_result();
  56. 2.使用完数据库后要关闭数据库
  57. bool mysql_close();

  1. <?php
  2. $username=$_POST['usernm'];
  3. $password=$_POST['passwd']; #接收来自login.php传递的passwd值赋值到$password上
  4. $conn=mysqli_connect("localhost","root","root","login"); #建立与数据库的连接
  5. if (!$conn)
  6. {
  7. die("连接错误:". mysqli_connect_error());
  8. } #判断和数据库是否连接正确
  9. $sql="select * from laptop where user='$username' and password='$password'";
  10. $res=mysqli_query($conn,$sql); #连接,执行sql语句
  11. if (mysqli_fetch_array($res)!=0) #将传参转化为数组,判断用户输入的值是否和数据库指定的字段中的值是否相同,相同即不为0,不相同反之。
  12. {
  13. echo "OK"; #可以改成页面链接 如:"header("location:query.html");"
  14. }
  15. else
  16. {
  17. echo "NO";
  18. }
  19. ?>

PHP操作数据库

(1) 连接数据库

  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password = "123456";
  5. $dbname = 'dbali';
  6. $conn = new mysqli($servername, $username, $password, $dbname); // 创建连接
  7. // 检测连接
  8. if ($conn->connect_error)
  9. {
  10. die("连接失败: " . $conn->connect_error);
  11. }
  12. $conn->set_charset('utf8'); //查询前设置编码,防止输出乱码
  13. echo "连接成功";
  14. ?>

PHP连接数据库MYSQL的八个步骤

1.链接MySQL数据库 mysqli_connect();
2.判断链接是否成功
3.设置字符集 mysqli_set_charset
4.选择数据库 mysqli_select_db

5.准备SQL语句 select update insert delete
6.执行SQL语句
在选择数据库中使用 mysql_query()函数执行 SQL语句,对数据的操作方式主要包括 5种方式
    查询数据:使用select 语句实现数据的查询功能。
    显示数据:使用select 语句显示数据的查询结果。
    插入数据:使用insert into 语句向数据库中插入数据。
    更新数据:使用update 语句更新数据库中的记录。
    删除数据:使用 delete语句删除数据库中的记录!
7.处理结果集
8.关闭数据库释放资源

  1. <?php
  2. $conn = mysqli_connect('localhost','root','root');
  3. if (!$conn)
  4. {
  5. die("连接失败: " . $conn->connect_error);
  6. //exit('数据库连接失败');
  7. }
  8. mysqli_set_charset($conn,'utf8');
  9. mysqli_select_db($conn,'count');
  10. $sql = "select * from count";
  11. $obj = mysqli_query($conn,$sql);
  12. $res = mysqli_fetch_array($obj);
  13. var_dump($res);
  14. mysqli_close($conn);
  15. ?>

(2) 书写语句,执行语句
   ① 执行语句的代码:$res = $conn->query()
   ② 若执行的是增删改语句,$res的值为布尔值(insert, update, delete)
   ③ 若执行的是查询语句,得到查询结果集(对象)(select)

   ④ 若是查询语句,记得释放查询结果集,避免资源浪费
   ⑤ 关闭数据库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/558042
推荐阅读
相关标签
  

闽ICP备14008679号