php5和php7连接数据库的区别PHP5中使用mysql_connect()函数进行连接php7pdo数据库,但实际上,PHP5.5开始,mysql系列函数就不推荐使用了,属于废弃函数
PHP7中貌似已经彻底不支持了,根据官网说明,取而代之php7pdo数据库的是如下两个:
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除 。应使用 MySQLi 或 PDO_MySQL 扩展来替换之 。
$host = '127.0.0.1';//主机名或IP地址
$user = 'root';//数据库用户
$database = 'cake';//数据库名
$password ='root';//数据库密码
$mysqli = new mysqli($host,$user,$password,$database);
$query = 'SET NAMES UTF8';
$mysqli-query($query);
if($mysqli-errno){
print_f("连接数据库错误br/ %s",$mysqli-error);
exit;
}
php用pdo连接数据库失败怎么办错误代码:1045是数据库登录失败
有可能是用户名错误,密码错误 , 或者用户没有权限等等原因
如何在PHP下开启PDO MySQL的扩展PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层 , 这样 , 无论使用什么数据库,都可以通过一致的函数执行查询和获取数据 。
在一些PHP管理系统需要开启PDO和PDO_MySQL扩展,方法很简单:
1、找到php.ini文件
2、打开后 , 搜索 extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注释 。
最终这两行配置内容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新启动apache或者iis后 , 在phpinfo函数中查看,是否开启 。
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】本文实例讲述了PHP利用pdo_odbc实现连接数据库 。分享给大家供大家参考,具体如下:
目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上 。
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务 。重启Apache服务器 。
在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库:
代码如下:
?php
return
[
//
数据库类型
'type'
=
'sqlsrv',
//
服务器地址
'hostname'
=
'localhost',
//
数据库名
'database'
=
'mysql',
//
用户名
'username'
=
【php7pdo数据库 php7数据库操作】'sa',
//
密码
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
连接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
数据库连接参数
'params'
=
[],
//
数据库编码默认采用utf8
'charset'
=
'utf8',
//
数据库表前缀
'prefix'
=
'',
//
数据库调试模式
'debug'
=
true,
//
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
=
0,
//
数据库读写是否分离
主从式有效
'rw_separate'
=
false,
//
读写分离后
主服务器数量
'master_num'
=
1,
//
指定从服务器序号
'slave_no'
=
'',
//
是否严格检查字段是否存在
'fields_strict'
=
true,
//
数据集返回类型
'resultset_type'
=
'array',
//
自动写入时间戳字段
'auto_timestamp'
=
false,
//
时间字段取出后的默认时间格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要进行SQL性能分析
'sql_explain'
=
false,
//
Builder类
'builder'
=
'',
//
Query类
'query'
=
'\\think\\db\\Query',
//
是否需要断线重连
'break_reconnect'
=
false,
//
断线标识字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一个控制文件Test.php
代码如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=https://www.04ip.com/post/Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后调用入口文件即可访问 。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》 。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助 。
您可能感兴趣的文章:ThinkPHP实现多数据库连接的解决方法tp5(thinkPHP5)框架实现多数据库查询的方法ThinkPHP3.1新特性之多数据库操作更加完善tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】thinkPHP5实现的查询数据库并返回json数据实例tp5(thinkPHP5)操作mongoDB数据库的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例本文实例讲述了php使用mysqli和pdo扩展,测试对比mysql数据库php7pdo数据库的执行效率 。分享给大家供大家参考,具体如下php7pdo数据库:
?php
/**
*
测试pdo和mysqli的执行效率
*/
header("Content-type:text/html;charset=utf-8");
//通过pdo链接数据库
$pdo_startTime
=
microtime(true);
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND
=
"SET
NAMES'utf8';"));
for($i=1;$i=100;$i){
$title
=
"pdo标题".$i;
$content
=
"pdo内容".$i;
$addtime
=
time();
$user_id
=
$i;
$pdo_sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES(:title,:content,:addtime,:user_id)";
$sth
=
$pdo-prepare($pdo_sql);
$sth-bindParam(':title',$title);
$sth-bindParam(':content',$content);
$sth-bindParam(':addtime',$addtime);
$sth-bindParam(':user_id',$user_id);
$sth-execute();
}
$pdo_endTime
=
microtime(true);
$pdo_time
=
$pdo_endTime
-
$pdo_startTime;
echo
$pdo_time;
echo
"hr/";
//通过mysql链接数据库
$mysqli_startTime
=
microtime(true);
$mysqli
=
mysqli_connect("localhost","root","1234","test")
or
die("数据连接失败");
mysqli_query($mysqli,"set
names
utf8");
for($i=1;$i=100;$i){
$title
=
"mysqli标题".$i;
$content
=
"mysqli内容".$i;
$addtime
=
time();
$user_id
=
$i;
$sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES('".$title."','".$content."',".$addtime.",".$user_id.")";
mysqli_query($mysqli,$sql);
}
$mysqli_endTime
=
microtime(true);
$mysqli_time
=
$mysqli_endTime
-
$mysqli_startTime;
echo
$mysqli_time;
echo
"hr/";
if($pdo_time
$mysqli_time){
echo
"pdo的执行时间是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo
"mysqli的执行时间是pdo的".round($mysqli_time/$pdo_time)."倍";
}
测试结果php7pdo数据库:其实经过多次测试,pdo和mysqli的执行效率差不多 。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助 。
您可能感兴趣的文章:php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例php中数据库连接方式pdo和mysqli对比分析php中关于mysqli和mysql区别的一些知识点分析php操作mysqli(示例代码)php封装的mysqli类完整实例PHP以mysqli方式连接类完整代码实例php简单解析mysqli查询结果的方法(2种方法)php中mysql连接方式PDO使用详解Php中用PDO查询Mysql来避免SQL注入风险的方法php
mysql
PDO
查询操作的实例详解PHP实现PDO的mysql数据库操作类
PHP使用pdo连接access数据库并循环显示数据操作示例本文实例讲述了PHP使用pdo连接access数据库并循环显示数据操作 。分享给大家供大家参考,具体如下php7pdo数据库:
PDO连接与查询:
try
{
$conn
=
new
PDO("odbc:driver={microsoft
access
driver
(*.mdb)};
dbq=".realpath("MyDatabase.mdb"))
or
die("链接错误!");
//echo
"链接成功!";
}
catch(PDOException
$e){
echo
$e-getMessage();
}
$sql
=
"select
*
from
users";
1.
foreach()方法
foreach
($conn-query($sql)
as
$row)
{
$row["UserID"];
$row["UserName"];
$row["UserPassword"];
}
2.
while()方法
$rs
=
$conn-query($sql);
$rs-setFetchMode(PDO::FETCH_NUM);
while($row=$rs-fetch()){
$row[0];
$row[1];
$row[2];
}
php使用PDO抽象层获取查询结果 , 主要有三种方式:
(1)PDO::query()查询 。
看下面这段php代码:
?php
//PDO::query()查询
$res
=
$db-query('select
*
from
user');
$res-setFetchMode(PDO::FETCH_NUM);
//数字索引方式
while
($row
=
$res-fetch()){
print_r($row);
}
?
(2)PDO-exec()处理sql
?php
//PDO-exec()处理sql
$db-setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$res
=
$db-exec("insert
into
user(id,name)
values('','php点点通')");
echo
$res;
?
(3)PDO::prepare()预处理执行查询
?php
//PDO::prepare()预处理执行查询
$res
=
$db-prepare("select
*
from
user");
$res-execute();
while
($row
=
$res-fetchAll())
{
print_r($row);
}
?
setAttribute()
方法是设置属性,常用参数如下:
PDO::CASE_LOWER
--
强制列名是小写
PDO::CASE_NATURAL
--
列名按照原始php7pdo数据库的方式
PDO::CASE_UPPER
--
强制列名为大写
setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:
PDO::FETCH_ASSOC
--
关联数组形式
PDO::FETCH_NUM
--
数字索引数组形式
PDO::FETCH_BOTH
--
两者数组形式都有,这是默认的
PDO::FETCH_OBJ
--
按照对象的形式,类似于以前的
mysql_fetch_object()
对上面总结如下:
查询操作主要是PDO::query()、PDO::exec()、PDO::prepare() 。
PDO-query()
—
处理一条SQL语句,并返回一个“PDOStatement”
PDO-exec()
—
处理一条SQL语句,并返回所影响的条目数
PDO::prepare()主要是预处理操作 , 需要通过$rs-execute()来执行预处理里面的SQL语句
最后介绍两个常用的函数:
(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!
?php
$res
=
$db-query('select
*
from
user');
//获取指定记录里第二个字段结果
$col
=
$res-fetchColumn(1);
echo
$col;
?
(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中
?php
$res
=
$db-query('select
*
from
user');
$res_arr
=$res-fetchAll();
print_r($res_arr);
?
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php Oracle数据库程序设计技巧总结》、《PHP MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助 。
您可能感兴趣的文章:PHP使用PDO连接ACCESS数据库PHP数据库链接类(PDO Access)实例分享php中mysql连接方式PDO使用详解关于php连接mssql:pdo
odbc
sql
serverPhp中用PDO查询Mysql来避免SQL注入风险的方法php中在PDO中使用事务(Transaction)全新的PDO数据库操作类php版(仅适用Mysql)php使用pdo连接并查询sql数据库的方法php使用pdo连接mssql
server数据库实例PHP实现PDO的mysql数据库操作类
关于php7pdo数据库和php7数据库操作的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 迷你4平板什么cpu,ipad mini4什么cpu
- 关于postgresqlhashtext的信息
- 笔记本硬盘怎么测,笔记本硬盘怎么测试
- excel怎么插分隔号,excel怎么加分隔符号
- 三级分销java代码设计 1200万像素等于多少p
- go语言如何进行内存管理,go语言内存回收机制
- 自由飞行的单机游戏,自由飞行的单机游戏有哪些
- 永劫直播素材视频,永劫无间游戏直播
- python函数带返回值 python 带返回值的函数