PHP连接MySQL数据库操作代码实例解析


Posted in PHP onJuly 11, 2020

方法一:普通方法(面向过程)

首先,先做出如下假设(也适用与方法二和方法三)

$username=your_name;
 $userpass=your_pass;
 $dbhost=localhost;
 $dbdatabase=your_database;

下面是关键步骤:

//生成一个连接
$db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!");

//选择一个需要操作的数据库
mysql_select_db($dbdatabase,$db_connect);

//执行MySQL语句
$result=mysql_query("SELECT id,name FROM user");

//提取数据
$row=mysql_fetch_row($result);

//关闭链接
mysql_close($db_connect);

代码注释已经说明了一切。不过这里还需要做一些补充。

①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;

②提取数据的时候,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array,具体差别请查阅我的另一篇随笔《PHP中mysql_fetch_row()、mysql_fetch_assoc()和mysql_fetch_array()的联系》;

③对于mysql_query()函数的返回值,如果执行的语句有返回值(如SELECT、SHOW、DESCRIBE等),则返回相应数据(成功时)或FALSE(失败时);如果执行的语句没有返回值(如DELETE、DROP、INSERT、UPDATE等),则返回TRUE(成功时)或FALSE(失败时)。

方法二:面向对象方法

其实这种方法和普通方法非常类似,只是把相应的函数换成了面向对象方法,直接看代码。

$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
  echo 'Could not connect to database.';
  exit;
}

$result=$db->query("SELECT id,name FROM user");
$row=$result->fetch_row();

这里用到的是mysqli,意思就是mysql的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互,唯一不同的是调用函数(对象方法)的方式不一样。

方法三:PDO方法

PDO其实是PHP Database Objects的缩写,中文即PHP数据库对象。它提供了一种统一的PHP与数据库交互的方法。

这是目前比较流行的一种连接数据库的方法。它的优势在于:只要正确提供数据源,余下对于数据库的基本操作都是一样的。也就是说,同一段代码既可以同MySQL交互,也可以和SQLite3交互,当然也可以和PostgreSQL进行交互,前提是你提供了正确的数据源。下面看一下连接MySQL的代码:

$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new PDO($dsn,$username,$userpass);

如果是SQLite3,直接使用下面的代码:

$dsn='sqlite3:"C:\sqlite\user.db"';
$dbh=new PDO($dsn);

如果是PostgreSQL,下面的代码能够对付:

$dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass;
$dbh=new PDO($dsn);

跟数据库成功建立连接之后,下面就只需要从数据库获取数据或插入更新数据,实例代码如下:

$stmt=$dbh->query('SELECT id,name FROM user');
$row=$stmt->fetch();

至此,文章告一段落。当然,上面只是简单的介绍了一下PHP与数据库有关的最简单的操作,后面还有很多比如插入、排序、防止SQL注入等等一些方面的知识需要深入学习。希望有机会能够和大家一起探讨,共同进步。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
PHP实现加密的几种方式介绍
Feb 22 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
解决php写入数据库乱码的问题
Sep 17 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 #PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 #PHP
PHP实现简易用户登录系统
Jul 10 #PHP
PHP二维数组分页2种实现方法解析
Jul 09 #PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 #PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 #PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 #PHP
You might like
PHP 字符串分割和比较
2009/10/06 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
讲解Python中的标识运算符
2015/05/14 Python
Python中属性和描述符的正确使用
2016/08/23 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
python基于递归解决背包问题详解
2019/07/03 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
七年级音乐教学反思
2014/01/26 职场文书
入党综合考察材料
2014/06/02 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
高二语文教学反思
2016/02/16 职场文书
Mysql排序的特性详情
2021/11/01 MySQL