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 相关文章推荐
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
php中批量替换文件名的实现代码
Jul 20 PHP
QQ登录 PHP OAuth示例代码
Jul 20 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
Yii快速入门经典教程
Dec 28 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
Laravel 验证码认证学习记录小结
Dec 20 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
php 删除无限级目录与文件代码共享
2008/11/22 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
javascript中的几个运算符
2007/06/29 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python实现购物车程序
2018/04/16 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
销售求职信范文
2014/05/26 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python