PHP连接MySQL数据库的几种方式
PHP 5 及以上版本建议使用以下方式连接 MySQL :
- MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口。
- PDO (PHP Data Objects):PDO 应用在 12 种不同数据库中。
共同点:
1. 两者都是面向对象
2. 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
确保wamp里已经安装好了MySQLi或PDO,查看方式:echo phpinfo();
接下来将会使用以下三种方式来演示 PHP 操作 MySQL:
- MySQLi (面向对象)
- MySQLi (面向过程)
- PDO
1. MySQLi - 面向对象
<?php
header('Content-Type: text/html;charset=utf-8'); //echo phpinfo(); // MySQLi面向对象
// 在我们访问MySQL数据库之前,我们需要先连接到数据库服务器
$servername = "localhost";
$username = "root";
$password = ""; // 创建连接
$conn = new mysqli($servername, $username, $password); // 检测连接
if($conn -> connect_error)
{
die("连接失败:". $conn->connect_error);
} echo "连接成功";
?>
2. MySQLi - 面向过程
<?php
header('Content-Type: text/html; charset=utf-8'); // MySQLi - 面向过程
$servername = "localhost";
$username = "root";
$password = ""; // 创建连接
$conn = mysqli_connect($servername, $username, $password); // 检测连接
if(!$conn)
{
die("连接失败:" . mysqli_connect_error());
} echo "连接成功";
?>
3. PDO连接MySQL数据库
PDO要设置数据库名,如果没有指定,则会抛出异常
<?php
header('Content-Type: text/html; charset=utf-8'); // PDO连接MySQL数据库
// PDO要设置数据库名,如果没有指定,则会抛出异常 $servername = "localhost";
$username = "root";
$password = "";
$dbname = "mugua"; try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
连接在脚本执行完毕后会自动关闭,也可以使用代码关闭连接:
MySQLi - 面向对象
MySQLi - 面向过程
PDO
PHP连接MySQL数据库的几种方式的更多相关文章
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案. P ...
- php连接MySQL数据库的三种方式(mysql/mysqli/pdo)
引言 PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案 ...
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
2.PHP与Mysqli扩展,面向过程.对象 <?php $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test ...
- C++连接mysql数据库的两种方法
本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...
- plsql 连接oracle数据库的2种方式
plsql 连接oracle数据库的2种方式 CreationTime--2018年8月10日09点50分 Author:Marydon 方式一:配置tnsnames.ora 该文件在instan ...
- ThinkPHP中连接mysql数据库的四种实用和通用的连接方法
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理.目前的数 ...
- Eclipse通过jdbc连接sqlserver2008数据库的两种方式
数据库登录身份验证方式有两种 其中服务器名称即为安装SQLServer2008的电脑,充当数据库服务器,在笔者这里就是自己的电脑名称. 身份验证方式有两种:windows身份验证和SQLSer ...
- 使用EntityFramework6连接MySql数据库(db first方式)
准备工具: VS2013.MySQL For VisualStudio 1.1.4.Connector/Net 6.8.3(百度网盘里) 程序包管理器执行命令: Install-Package Ent ...
- 登录进入Mysql数据库的几种方式
前提:连接进入mysql数据库 本机安装的myslq基础信息: host= "localhost", # 数据库主机地址:127.0.0.1 port=3306, # 端口号 us ...
随机推荐
- win7运行nodejs,返回IPV6:::ffff:127.0.0.1
问题: 在win7上使用telnet连接node生成的服务器,在获取ip的过程中出现的问题. win7默认开启IPV6,所以获取的IP地址带有::ffff:前缀. 如果程序中使用到了IP地址,有可能会 ...
- php 替换 oracle 数据字段中“看不见”换行符号
工作需要,把oracle中的数据导出csv,导出代码如下:<?php$file_name = "申請書承認(予定休出).csv";header("Content-D ...
- P4219 [BJOI2014]大融合
传送门 动态维护森林 显然考虑 $LCT$ 但是发现询问求的是子树大小,比较不好搞 维护 $sum[x]$ 表示节点 $x$ 的子树大小,$si[x]$ 表示 $x$ 的子树中虚儿子的子树大小和 那么 ...
- 能量项链 (区间DP)
能量项链 (区间DP) 问题引入 能量项链 洛谷 P1063 思路 诸如此类不能线性规划的问题要用到区间DP,区间DP一般就是三层循环,第一层表示区间长度(本题即\(n\)),第二层枚举起点并根据第一 ...
- UVA - 10298 后缀数组(仅观赏)
题意:求最小循环节 \(KMP\)可以20ms通过,而\(da\)实现的后缀数组并无法在3000ms内通过 听说要用\(dc3\)才勉强卡过,这里仅列出\(da\)实现 #include<ios ...
- HDU - 1427 / UESTC - 1252 经典dfs
很好奇为什么hzwer那种稍改一下还是无法过样例,代码我没看出问题 换了一种用桶组合挑取两个数不断回溯的做法 这是HDU1427的代码,后者改一改就行了 #include<bits/stdc++ ...
- 动态规划算法解析网页中的内容 JavaScript
function getInfo(html){ //去掉注释 html=html.replace(/<!--.+?-->/g,"") var arrP=[] var r ...
- linux下的常见信号总结
在linux下有很多信号,按可靠性分为可靠信号和非可靠信号,按时间分为实时信号和非实时信号,linux进程也有三种方式来处理收到的信号: (1)忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略 ...
- mongodb 增查改删
我们在 MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1 中学习了如果安装部署一个 MongoDB 如果没看到我的金玉良言的话,就重新打开一次客户端和服务端吧 本章我们 ...
- Python基础 (上)
参考:菜鸟教程 Python用途 目录 一.数据类型 二.运算符 三.条件和循环控制语句 四.函数 五.模块 六.输入与输出 一.数据类型 string.list和tuple都属于sequenc ...