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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
YII Framework框架教程之国际化实现方法
Mar 14 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
php工具型代码之印章抠图
Jul 18 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
php中关于换行的实例写法
Sep 26 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
php查询whois信息的方法
2015/06/08 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
javascript学习网址备忘
2007/05/29 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
JavaScript包装对象使用详解
2015/07/09 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python从入门到精通(DAY 2)
2015/12/20 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
对python多线程与global变量详解
2018/11/09 Python
Python中print和return的作用及区别解析
2019/05/05 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
python新手学习可变和不可变对象
2020/06/11 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
ktv好的活动方案
2014/08/15 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP