广告
返回顶部
首页 > 资讯 > 数据库 >PHP连接MySQL数据库三种实现方法
  • 186
分享到

PHP连接MySQL数据库三种实现方法

PHP连接MySQL数据库 2022-05-23 09:05:29 186人浏览 独家记忆
摘要

引言 PHP与Mysql的连接有三种api接口,分别是:php的mysql扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。 PHP的

引言

PHPMysql的连接有三种api接口,分别是:phpmysql扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。

PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的。因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性。由于太古老,又不安全,所以已被后来的mysqli完全取代;

PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性。其特点为:面向对象接口 、prepared语句支持、多语句执行支持、事务支持 、增强的调试能力、嵌入式服务支持 、预处理方式完全解决了sql注入的问题。不过其也有缺点,就是只支持mysql数据库。如果你要是不操作其他的数据库,这无疑是最好的选择。

PDO是PHP Data Objects的缩写,是PHP应用中的一个数据库抽象层规范。PDO提供了一个统一的API接口可以使得你的PHP应用不去关心具体要连接的数据库服务器系统类型,也就是说,如果你使用PDO的API,可以在任何需要的时候无缝切换数据库服务器,比如从oracle 到MySQL,仅仅需要修改很少的PHP代码。其功能类似于JDBC、ODBC、DBI之类接口。同样,其也解决了sql注入问题,有很好的安全性。不过他也有缺点,某些多语句执行查询不支持(不过该情况很少)。

代码示例

PHP与Mysql扩展(本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除),PHP原生的方式去连接数据库,是面向过程的


$mysql_conf = array(
  'host'  => '127.0.0.1:3306', 
  'db'   => 'test', 
  'db_user' => 'root', 
  'db_pwd' => 'root', 
  );
$mysql_conn = @mysql_connect($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if (!$mysql_conn) {
  die("could not connect to the database:\n" . mysql_error());//诊断连接错误
}
mysql_query("set names 'utf8'");//编码转化
$select_db = mysql_select_db($mysql_conf['db']);
if (!$select_db) {
  die("could not connect to the db:\n" . mysql_error());
}
$sql = "select * from user;";
$res = mysql_query($sql);
if (!$res) {
  die("could get the res:\n" . mysql_error());
}

while ($row = mysql_fetch_assoc($res)) {
  print_r($row);
}

mysql_close($mysql_conn);

PHP与Mysqli扩展,面向过程、对象


<?php
$mysql_conf = array(
  'host'  => '127.0.0.1:3306', 
  'db'   => 'test', 
  'db_user' => 'root', 
  'db_pwd' => 'joshua317', 
  );

$mysqli = @new mysqli($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if ($mysqli->connect_errno) {
  die("could not connect to the database:\n" . $mysqli->connect_error);//诊断连接错误
}
$mysqli->query("set names 'utf8';");//编码转化
$select_db = $mysqli->select_db($mysql_conf['db']);
if (!$select_db) {
  die("could not connect to the db:\n" . $mysqli->error);
}$sql = "select uid from user where name = 'joshua';";
$res = $mysqli->query($sql);
if (!$res) {
  die("sql error:\n" . $mysqli->error);
}
 while ($row = $res->fetch_assoc()) {
    var_dump($row);
  }

$res->free();
$mysqli->close();
?>

PHP与PDO扩展,面向过程、对象


<?php
$mysql_conf = array(
  'host'  => '127.0.0.1:3306', 
  'db'   => 'test', 
  'db_user' => 'root', 
  'db_pwd' => 'joshua317', 
  );
try {
  $pdo = new PDO("mysql:host=" . $mysql_conf['host'] . ";dbname=" . $mysql_conf['db'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);//创建一个pdo对象
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTioN);  // 设置sql语句查询如果出现问题 就会抛出异常
  //set_exception_handler("cus_exception_handler");
} catch (PDOException $e) {
  die("connect error:".$e->getMessage());
}
$pdo->exec("set names 'utf8'");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, 'joshua', PDO::PARAM_STR);
$rs = $stmt->execute();
if ($rs) {
  // PDO::FETCH_ASSOC 关联数组形式
  // PDO::FETCH_NUM 数字索引数组形式
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    var_dump($row);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

本文标题: PHP连接MySQL数据库三种实现方法

本文链接: https://www.lsjlt.com/news/10025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP连接MySQL数据库三种实现方法
    引言 PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。 PHP的...
    99+
    2022-05-23
    PHP 连接 MySQL 数据库
  • 一文详解PHP连接MySQL数据库的三种方式
    目录1.MySQL扩展2.mysqli扩展3.PDO扩展知识点补充PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对...
    99+
    2022-11-13
  • IDEA连接MySQL数据库的四种方法
    首先右击此电脑点击管理,进入页面  再服务栏确保MySQL是正常运行状态 打开IDEA, 左边栏选择Maven Archetype,新建一个名为javaweb的新工程 进行如图编辑完成新建  在Main包下新建一个java包,右击jav...
    99+
    2023-09-22
    mybatis
  • Node-Red实现MySQL数据库连接的方法
    要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。 Node-Red中控件下载 在Node...
    99+
    2022-11-12
  • mysql数据库改名的三种方法
    前不久去面试,被问到Innodb引擎的表如何改数据库名,当时我也只回答了MyISAM改如何操作,被一些细节问题打败,真是操蛋。如果表示MyISAM那么可以直接去到数据库目录mv就可以。Innodb完全不行,...
    99+
    2022-10-18
  • PHP连接MySql数据库方法简化版
    写这个PHP连接数据库静态工具类之前,是由于当时学习C#的asp.net。老师编写了一个连接数据库的静态工具类,发现使用此类,每次只需要写sql语句,而不再需要进行连接创建,关闭等等...
    99+
    2022-11-13
  • mysql连接数据库的方法
    小编给大家分享一下mysql连接数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!连接方法:1、打开DOS窗口,进入目录...
    99+
    2022-10-18
  • Java连接各种数据库的方法
    本篇内容介绍了“Java连接各种数据库的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JDBC里统一的使用方法:Class.for(jd...
    99+
    2023-06-17
  • sqlplus连接数据库的几种方法
    1. sqlplus / as sysdba     操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式...
    99+
    2022-10-18
  • C#连接数据库的几种方法
    一、Oracle 查询 public static DataTable QueryData() { DataTable dtResult = new ...
    99+
    2022-11-13
  • 怎么实现php和mysql数据库连接
    PHP是一种开源的服务器端编程语言,它被广泛应用于Web开发中,与MySQL数据库紧密合作。PHP和MySQL相互配合,为开发者提供了一个强大而又高效的Web开发平台。本文将带领读者了解如何实现PHP和MySQL数据库之间的连接,让你可以更...
    99+
    2023-05-14
  • 如何实现php和mysql数据库连接
    本篇内容介绍了“如何实现php和mysql数据库连接”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.安装和配置MySQL数据库在开始MyS...
    99+
    2023-07-05
  • DataGrip连接Mysql并创建数据库的方法实现
    目录一、DataGrip 连接数据库?1.点击文件 ->新建 -> 数据源 -> Mysql2.打开控制台二、创建与管理数据库1.创建数据库2.管理数据库3.展示数...
    99+
    2022-11-13
  • vc 连接mysql数据库的方法
    这篇文章给大家分享的是有关vc 连接mysql数据库的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。vc连接mysql数据库的方法:首先打开VC6;然后在中间列表框中添加本地...
    99+
    2022-10-18
  • .net连接mysql数据库的方法
    小编给大家分享一下.net连接mysql数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!net连接mysql数据库的方...
    99+
    2022-10-18
  • Nacicat连接MySQL数据库的方法
    Nacicat连接MySQL数据库的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1、安装好MySQL和Navicat...
    99+
    2022-10-18
  • C#连接Mysql数据库的方法
    C#连接Mysql数据库的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!本文讲的是C#连接Mysql数据库,下文附有详...
    99+
    2022-10-18
  • Android连接MySQL数据库的方法
    由于之前那篇文章是在大学期间好多东西都不太懂的时候写的,放到现在再来看总感觉到处都是问题(或者说已经看不懂啦)。但是看到每天上涨的那点阅读量,想了想还是把这个再用相对正常的方式再重写一遍吧。 为了省事本项目的服务端采用SpringBoot ...
    99+
    2023-10-07
    mysql 数据库 android
  • php7连接mysql数据库的方法
    这篇文章主要为大家展示了php7连接mysql数据库的方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php7连接mysql数据库的方法”这篇文章吧。php有什么用php是一个嵌套的缩写名称,指...
    99+
    2023-06-06
  • php连接mysql数据库
        连接数据库:使用面向对象的方法;1.造一个mysqli对象,造连接对象2.准备一条SQL语句3.执行SQL语句,如果是查询语句。成功返回结果及对象4.从结果集...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作