PHP连接数据库 (Mysql) 的三种方式及其区别

作者:神秘网友 发布时间:2020-10-31 18:02:18

PHP连接数据库 (Mysql) 的三种方式及其区别

PHP连接数据库 (Mysql) 的三种方式及其区别

在php5.3版本之后,想要连接数据库有两种方案,一种是通过mysqli,另外外一种是通过PDO,而通过mysqli来连接数据库也可也分为两种情况: mysqli(面向对象),mysqli(面向过程).
即三种方式:
1)PDO连接mysql
2)mysqli(面向对象)连接数据库
3)mysqli(面向过程)连接数据库
(其实还存在一种连接方式:使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。)

可先通过phpinfo()命令查看你的php是否已安装PDO(我用的是php7,默认是已经安装好了)
如果没有安装,参考网页:http://php.net/manual/en/pdo.installation.php
PHP连接数据库 (Mysql) 的三种方式及其区别
代码实例:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
try {
    $conn = new PDO("mysql:host=$servername;dbname=jtsys",
        $username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
    echo $e->getMessage();
}
?>

(使用时请注意更改数据库用户名和密码,以及所选则的数据库名(dbname)

可先通过phpinfo()命令查看你的php是否已安装mysqli(我用的是php7,默认是已经安装好了)
如果没有安装,参考网页:http://php.net/manual/en/mysqli.installation.php
PHP连接数据库 (Mysql) 的三种方式及其区别
代码实例:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn =
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

代码实例:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    die("Connection 
failed: " . mysqli_connect_error());
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

1.关闭连接的方式:
PDO:

$conn = null;

MySQLi (面向对象):

$conn->close();

MySQLi (面向过程):

mysqli_close($conn);
  • PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
  • 如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部门查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。
  • 两者都是面向对象, 但 MySQLi 还提供了 API 接口。
  • 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
    MySQLi 面向对象和面向过程的区别:
    多PHP程序员不习惯面向对象bai编程,所以mysqli类库提供了du这个方法供他们使用。这也是方便一些使zhi用mysql扩展的用户快速迁移到mysqli。实际上,mysqli_query()内部是对面向对象调用过程的封装。

PHP连接数据库 (Mysql) 的三种方式及其区别相关教程

  1. 2020.10.29课堂笔记(使用Scala连接MySQL)

    2020.10.29课堂笔记(使用Scala连接MySQL) 添加MySQL连接驱动到项目中,这里选择的是mysql-connector-java-5.1.432 步骤示范: 在Libiaries中添加MySQL的驱动jar包 然后写jdbc程序连接数据库: 代码如下: import java.sql.{Connection, DriverManager, Result

  2. 大幅度

    大幅度 表空间概念 Oracle数据库的数据最终都是存放到数据文件里的 实际上,Oarcle表空间(tablespaces)是一个逻辑概念,在物理上是并不存在的,因此,一个表空间实际上代表了由一组数据文件,它有这些书文件做支撑 表空间属性 一个数据库可以包含多个表空间,

  3. 连接数据库显示: Access denied for user ‘root‘@‘locahost

    连接数据库显示: Access denied for user ‘root‘@‘locahost‘(using password:YES)解决方式。 前提 :Access denied for user ‘root’@‘locahost’(using password:YES) 原因 : 1、数据库密码错误 2、权限不够。 解决方法 第一种一般修改密码就好。

  4. 三、MongoDB入门

    三、MongoDB入门 MongoDB入门 1. 数据库操作 2.数据操作 2.1 新增 2.2 查询 2.3 修改 2.4 删除 1. 数据库操作 启动、连接 # cd /usr/local/mongoDB/mongodbserver/# bin/mongod -f conf/mongodb.conf# bin/mongo 查看数据库列表 # show dbs; 新增数据库 没有

  5. windows server 2012 R2下备份mysql数据库,并将备份文件发送到

    windows server 2012 R2下备份mysql数据库,并将备份文件发送到其余主机进行异地备份 废话少说,直接贴脚本 rem ******MySQL backup shell******@echo off ::目录判断SET GenFolder=c:\mysqlbackup if not exist %GenFolder% ( echo %GenFolder%目录不存在,

  6. mybatis-generator一键生成数据库

    mybatis-generator一键生成数据库 前言 介绍之前首先介绍一下主要依赖,然后再说如何添加mybatis-generator一键生成 主要依赖 spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML spring-boot-starter-web S支持全栈式Web开发,包

  7. 使用Connection类连接SQL Server出现问题 --- System.Data.SqlCl

    使用Connection类连接SQL Server出现问题 --- System.Data.SqlClient.SqlException: 用户 ‘sa‘ 登录失败 目录 1.发现问题 2.解决问题 2.1 尝试 2.2 解决 2.3 具体步骤 1.发现问题 //连接数据库的语句public static string Conn = @Data Source=.;Initial Ca

  8. 微信小程序订阅消息+PHP后台(https调用方式)

    微信小程序订阅消息+PHP后台(https调用方式) wx.requestSubscribeMessage({ tmplIds: [''], //此处填入申请得到的模板id success (res) { }}) **说明:**请求同意一次,永久时间内(任意时间内)只能发一次 1.先获取access_token 2.完整php代码如下: public