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 相关文章推荐
php fckeditor 调用的函数
Jun 21 PHP
php zip文件解压类代码
Dec 02 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php实现读取内存顺序号
Mar 29 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
php session_decode函数用法讲解
May 26 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
PHP使用Session实现上传进度功能详解
Aug 06 PHP
如何使用php生成zip压缩包
Apr 21 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
cache_lite试用
2007/02/14 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
js日历功能对象
2012/01/12 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
简单实现python聊天程序
2018/04/01 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
pycharm新建一个python工程步骤
2019/07/16 Python
解决Mac下使用python的坑
2019/08/13 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
致铅球运动员广播稿精选
2014/01/12 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
会员卡清退活动总结
2014/08/27 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
redis内存空间效率问题的深入探究
2021/05/17 Redis
python数字转对应中文的方法总结
2021/08/02 Python
使用python创建股票的时间序列可视化分析
2022/03/03 Python
 python中的元类metaclass详情
2022/05/30 Python