加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中如何去连接MySQL数据库?

发布时间:2022-07-11 13:09:23 所属栏目:PHP教程 来源:互联网
导读:什么是MySQL数据库 MySQL 是一款安全、跨平台、高效的,并与多种编程语言紧密结合的数据库系统。MySQL 是一种在 Web 上使用在服务器上运行的数据库系统。其体积
  什么是MySQL数据库
 
  MySQL 是一款安全、跨平台、高效的,并与多种编程语言紧密结合的数据库系统。MySQL 是一种在 Web 上使用在服务器上运行的数据库系统。其体积小、速度快、总体拥有成本低,MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL 数据库还是一种完全免费的产品,用户可以直接通过网络下载 MySQL 数据库,而不必支付任何费用。大家感兴趣的话也可以点击《MySQL最新手册教程》进行学习。
 
  MySQL数据库的特点
 
  功能强大,支持跨平台MySQL 适用于不同的应用场合,MySQL 支持至少 20 种以上的开发平台,这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。
 
  运行速度快,高速是 MySQL 的显著特性。在 MySQL 中,能够极快地实现连接;SQL 函数使用高度优化的类库实现,运行速度极快。
 
  支持面向对象,PHP 支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合 3 种方式。
 
  安全性高,灵活和安全的权限与密码系统。
 
  成本低,MySQL 数据库是一种完全免费的产品,用户可以直接通过网络下载。
 
  支持各种开发语言,MySQL 为各种流行的程序设计语言提供支持,为它们提供了很多的 API 函数。
 
  数据库存储容量大,支持强大的内置函数,PHP 中提供了大量内置函数,几乎涵盖了 Web 应用开发中的所有功能。
 
  数据库的应用
 
  数据库是一种专门用来管理数据资源的系统,数据其实就是计算机每天打交道需要处理的对象,无论是文字、图形还是声音等等这些都是数据的一种形式。在文件式管理方法中,有着诸如不便移植、浪费储存空间等问题,但是数据库更够更好的解决这些问题。
 
  数据库立足于数据本身的管理,他将所有的数据保存到数据库中,进行有序的组织,并且借助数据库管理系统能够更方便的使用数据库中的数据。可以理解为数据库就是经过了计算机整理后的数据,管理这些数据的软件就是数据管理系统。一个数据库系统是由数据库和数据管理系统两个部分组成的。
 
  在同一个 MySQL 数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,那么网站中的内容数据就存储在这个仓库中。而对数据库中数据的存取及维护等,都是通过数据库管理系统软件进行管理的。
 
  连接MySQL数据库
 
  使用 PHP 操作 MySQL 数据库是进行 Web 开发的必然要求之一,PHP 中提供了完整的操作 MySQL 数据库的函数,这些函数包括了从连接数据库、执行 SQL 语句、处理数据结果集到关闭数据库的方方面面。通过这些函数,使基于 MySQL 数据库的 Web 开发高效而简单。那接下来我们就来看一下PHP怎样连接到MySQL数据库。
 
  在连接到数据库之前,我们要确保开启了 PHP 中的 mysqli 扩展。开启 mysqli 扩展就是将 php.ini 配置文件中extension=mysqli这一项注释去掉就行了。我们可以通过 phpinfo() 函数查看来查看mysqli 扩展是否开启成功:
 
  
  <?php
 
  phpinfo();
 
  ?>
 
  在输出结果中出现:
 
  1027.01.png
 
  就表示已经开启PHP中的 mysqli 扩展,在我们确认已经成功开启后,就可以通过扩展中的mysqli_connect() 函数来进行PHP与MySQL数据库的连接。
 
  其中mysqli_connect() 函数的语法格式如下:
  
 
 
  mysqli_connect(
 
      [string $host = ini_get("mysqli.default_host")
 
      [, string $username = ini_get("mysqli.default_user")
 
      [, string $password = ini_get("mysqli.default_pw")
 
      [, string $dbname = ""
 
      [, int $port = ini_get("mysqli.default_port")
 
      [, string $socket = ini_get("mysqli.default_socket")
 
  ]]]]]] )
 
  其中需要注意的是:
 
  $host 是可选参数,要连接的服务器;
 
  $username 是可选参数,登录所使用的 MySQL 用户名;
 
  $password 是可选参数,登录所用的密码;
 
  $dbname 是可选参数,执行查询时使用的默认数据库;
 
  $port 是可选参数,指定连接到 MySQL 服务器的端口号;
 
  $socket 是可选参数,指定 socket 或要使用的已命名 pipe;
 
  mysqli_connect()函数是 mysqli::__construct() 函数的别名,所有使用对象 mysqli() 也可以实现连接数据库。
 
  接下来我们通过示例来看一下应该怎样连接,示例如下:
 
 
  
 
 
 
  <?php
 
      $host     = 'localhost';
 
      $username = 'root';
 
      $password = 'root';
 
      $dbname   = 'test';
 
      $port     = '3306';
 
      $link     = @mysqli_connect($host,$username,$password,$dbname,$port);   // 连接到数据库
 
      if($link){
 
          mysqli_set_charset($link,'UTF-8');      // 设置数据库字符集
 
          $sql    = 'select * from user';         // SQL 语句
 
          $result = mysqli_query($link, $sql);    // 执行 SQL 语句,并返回结果
 
          $data   = mysqli_fetch_all($result);    // 从结果集中获取所有数据
 
          mysqli_close($link);
 
      }else{
 
          die('数据库连接失败!');
 
      }
 
      echo '<pre>';
 
      print_r($data);
 
  ?>
 
  输出结果会获取数据库中你所设置的字符集,若是没有连接上两种输出结果如下所示:
 
  1027.04.png1027.03.png
 
  上述示例是面向过程的一种方法,下面看一下面向对象的方法:
 
 
  
 
  <?php
 
      $host     = 'localhost';
 
      $username = 'root';
 
      $password = 'root';
 
      $dbname   = 'test';
 
      $mysql    = new Mysqli($host, $username, $password, $dbname);
 
      if($mysql -> connect_errno){
 
          die('数据库连接失败:'.$mysql->connect_errno);
 
      }else{
 
          $mysql -> set_charset('UTF-8'); //  设置数据库字符集
 
          $sql = 'select * from user';         // SQL 语句
 
          $result = $mysql -> query($sql);
 
          $data = $result -> fetch_all();
 
          $mysql -> close();
 
      }
 
      echo '<pre>';
 
      print_r($data);
 
  ?>
 
  输出结果与上述示例中的输出结果一致。
 
  想要关闭连接的话,一般情况下,连接会在脚本运行完毕后自动关闭,当然也可以使用代码来关闭连接,示例如下:
 
 
  $conn->close();
 
  上述是面向对象方法时的关闭连接代码,下面看一下面向过程方法的代码,示例如下:
 
 
  mysqli_close($conn);
 
 

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读