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 相关文章推荐
4种PHP异步执行的常用方式
Dec 24 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
PHP实现的进度条效果详解
May 03 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
May 30 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 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执行速度全攻略(下)
2006/10/09 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
js面向对象的写法
2016/02/19 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
pycharm new project变成灰色的解决方法
2019/06/27 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
python向图片里添加文字
2019/11/26 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
一道Delphi面试题
2016/10/28 面试题
入党申请人的自我鉴定
2013/12/01 职场文书
预备党员思想汇报
2014/01/08 职场文书
委托书范文
2014/04/02 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
专项资金申请报告
2015/05/15 职场文书
高一语文教学反思
2016/02/16 职场文书
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android