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 chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
PHP接口并发测试的方法(推荐)
Dec 15 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
如何在centos8自定义目录安装php7.3
Nov 28 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 XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
PHP的拦截器实例分析
2014/11/03 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python3进制之间的转换代码实例
2019/08/24 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
介绍一下UNIX启动过程
2013/11/14 面试题
科室工作个人总结的自我评价
2013/10/29 职场文书
养殖人员的创业计划书范文
2013/12/26 职场文书
博士学位自我鉴定范文
2013/12/26 职场文书
教堂婚礼主持词
2014/03/14 职场文书
文言文辞职信
2015/02/28 职场文书
python基础之文件处理知识总结
2021/05/23 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS