page contents

新手教程PHP mysql读取数据

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.......

attachments-2021-08-UahduEBb61160fd3b14c4.png

简介

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

 

什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

Ø  数据以表格的形式出现

Ø  每行为各种记录名称

Ø  每列为记录名称所对应的数据域

Ø  许多的行和列组成一张表单

Ø  若干的表单组成database

 

MySQL数据库的特点

Ø  MySQL 是开源的,目前隶属于 Oracle 旗下产品。

Ø  MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

Ø  MySQL 使用标准的 SQL 数据语言形式。

Ø  MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 CC++PythonJavaPerlPHPEiffelRuby Tcl 等。

Ø  MySQL PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。

Ø  MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB64 位系统支持最大的表文件为8TB

Ø  MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

 

 PHP MySQL 读取数据

MySQL 数据库读取数据

SELECT 语句用于从数据表中读取数据:

SELECT column_name(s) FROM table_name

我们可以使用 * 号来读取所有数据表中的字段:

SELECT * FROM table_name

如需学习更多关于 SQL 的知识,请访问我们的 SQL 教程。

使用 MySQLi

以下实例中我们从 myDB 数据库的 MyGuests 表读取了 id, firstname lastname 列的数据并显示在页面上:

实例 (MySQLi - 面向对象)

<?php $servername="localhost";$username="username";$password="password";$dbname="myDB";//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//Check connectionif($conn->connect_error){die("连接失败:".$conn->connect_error);}$sql="SELECT id, firstname, lastname FROM MyGuests";$result=$conn->query($sql);if($result->num_rows>0){//输出数据while($row=$result->fetch_assoc()){echo"id:".$row["id"]."- Name:".$row["firstname"]."".$row["lastname"]."

";}}else{echo"0 结果";}$conn->close();?>

以上代码解析如下:

首先,我们设置了 SQL 语句从 MyGuests数据表中读取 id, firstname lastname 三个字段。之后我们使用该 SQL 语句从数据库中取出结果集并赋给复制给变量 $result

函数 num_rows() 判断返回的数据。

如果返回的是多条数据,函数 fetch_assoc() 将结合集放入到关联数组并循环输出。 while() 循环出结果集,并输出 id, firstname lastname 三个字段值。

以下实例使用 MySQLi 面向过程的方式,效果类似以上代码:

实例(MySQLi - 面向过程)

<?php $servername="localhost";$username="username";$password="password";$dbname="myDB";创建连接$conn=mysqli_connect($servername,$username,$password,$dbname);//Check connectionif(!$conn){die("连接失败:".mysqli_connect_error());}$sql="SELECT id, firstname,lastnameFROMMyGuests";$result=mysqli_query($conn,$sql);if(mysqli_num_rows($result)>0){//while($row=mysqli_fetch_assoc($result)){echo"id:".$row["id"]."- Name:".$row["firstname"]."".$row["lastname"]."

";}}else{echo"0 结果";}mysqli_close($conn);?>

使用 PDO (+ 预处理)

以下实例使用了预处理语句。

选取了 MyGuests 表中的 id, firstname lastname 字段,并放到 HTML 表格中:

实例 (PDO)

IdFirstnameLastname";classTableRowsextendsRecursiveIteratorIterator{function__construct($it){parent::__construct($it,self::LEAVES_ONLY);}functioncurrent(){return"".parent::current()."";}functionbeginChildren(){echo"";}functionendChildren(){echo""."\n";}}$servername="localhost";$username="username";$password="password";$dbname="myDBPDO";try{$conn=newPDO("mysql:host=$servername;dbname=$dbname",$username,$password);$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$stmt=$conn->prepare("SELECT id, firstname, lastname FROM MyGuests");$stmt->execute();//设置结果集为关联数组$result=$stmt->setFetchMode(PDO::FETCH_ASSOC);foreach(newTableRows(newRecursiveArrayIterator($stmt->fetchAll()))as$k=>$v){echo$v;}}catch(PDOException$e){echo"Error:".$e->getMessage();}$conn=null;echo"";?>

 

 

以上就是有关新手教程PHP mysql读取数据的相关内容了,想要了解更多有关php的其它知识也可关注六星社区网站。

  • 发表于 2021-08-13 14:25
  • 阅读 ( 606 )
  • 分类:PHP开发

0 条评论

请先 登录 后评论
小柒
小柒

1474 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章