Mysql连接数据库的操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: Mysql连接数据库的操作 1 2 3 4 5 $link=mysql_connect("ip","数据库名",密码); mysql_select_db("库名",$link); mysql_query("set names utf8"); $sql = "selec.

Mysql连接数据库的操作


1
2
3
4
5
$link =mysql_connect( "ip" , "数据库名" ,密码);
mysql_select_db( "库名" , $link );
mysql_query( "set names utf8" );
$sql  "select id,name from brand" ;
$arr  = mysql_query( $sql );  //执行sql语句

PDO连接数据库方法:

什么是PDO

PDOPHP data Object 提供了PHP操作多种数据库的统一的接口

PDO的特点?

编码的一致行:由于PHP可用的各种数据库扩展是由不同发行者编写的,所以尽管所有扩展都提供了基本相同的特性,却不满足编码的一致性。PDO消除了这种不一致,提供可用于各种数据库的单一接口。

灵活性:因为PDO在运行时加载必需的数据库驱动程序,所以不需要在每次使用不同数据库时重新配置和重新编译PHP。例如,如果数据库需要从Oracle切换到MySQL,只要加载PDO_MYSQL驱动程序就可以了。

面向对象特性:PDO利用PHP5的面向对象特性,可以获得更强大、更高效的数据库通信。

高性能:PDOC编写,编译为PHP,与用PHP编写的其他解决方案相比,虽然其他都相同,但提供了更高的性能。

PDO的配置

1)修改PHP.ini , 添加MYSQLPDO扩展

[PHP_PDO_MYSQL]

extension=php_pdo_mysql.dll

2)扩展目录中要有相应的扩展文件

3PDO连接不同的数据库,要有不同的数据库驱动文件即我们所加入配置文件的扩展

4)重新启动APACHE,使配置生效


数据源配置的格式

数据源格式:

1$dsn = 'mysql:dbname=testdb;host=127.0.0.1';

 $user = 'dbuser';

 $password = 'dbpass';

2)声明对象:

   $dbh = new PDO($dsn, $user, $password);

查询的方法,查手册

//执行添加

//$insertsql="insert into student(name,age) values('zhangsan',20)";

//if($pdo->exec($insertsql)){

//echo "添加成功";

//}

 

//总结:exec主要用于执行没有返回结果集的操作,比如insert delete update,返回的是影响的记录条数

 

//执行查询

$sql="select * from student";

$result=$pdo->query($sql);

//query()执行查询语句,返回结果集对象

//用循环利用fetch方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致

while($rows=$result->fetch()){

//print_r($rows);

}

//fetchAll()方法可以一次取出结果集中所有的数组,以二维数组的形式返回

//$data=$result->fetchAll();

//print_r($data);

//总结查询方式一

//PDO::query($sql),利用PDO来执行sql语句

//PDOstatement::fetch()或者PDOstatement::fetch()来取结果集的数据



//查询方式二

//PDO::prepare($sql),利用PDO来预执行sql语句

//PDOstatement::execute() 执行预处理

//PDOstatement::fetch()或者PDOstatement::fetch()来取结果集的数据

$res=$pdo->prepare($sql);//预处理

if($res->execute()){//执行预处理

$array=$res->fetchAll();

}

print_r($array);

 

//总结三

//PDO::lastInsertId():是返回上次插入操作,主键列类型是自增的最后的自增ID

    //PDOStatement::rowCount() :主要是用于PDO::query()PDO::prepare()进行DELETEINSERTUPDATE操作影响的结果集,对PDO::exec()方法和SELECT操作无效。



TP支持PDO

return array(  

‘DB_TYPE’=> ‘pdo’,  

// 注意DSN的配置针对不同的数据库有所区别 请参考PHP手册PDO类库部分  

‘DB_DSN’=> ‘mysql:host=localhost;dbname=think’,  

‘DB_USER’=>’root’,  

‘DB_PWD’=>”,  

‘DB_PREFIX’=>’think_’,  

// 其他项目配置参数………  

    ); 






      本文转自噼里啪啦啦 51CTO博客,原文链接:http://blog.51cto.com/pilipala/1670591 ,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
35 2
|
1天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用Navicate连接Mysql过程详解
使用Navicate连接Mysql过程详解
4 0
|
2天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
10 0
|
7天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
7天前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
9天前
|
关系型数据库 MySQL 数据库
数据库基础(mysql)
数据库基础(mysql)
|
9天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)
|
9天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
25 1
|
9天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
34 3
|
10天前
|
存储 关系型数据库 MySQL
【后端面经】【数据库与MySQL】为什么MySQL用B+树而不用B树?-02
【4月更文挑战第11天】数据库索引使用规则:`AND`用`OR`不用,正用反不用,范围中断。索引带来空间和内存代价,包括额外磁盘空间、内存占用和数据修改时的维护成本。面试中可能涉及B+树、聚簇索引、覆盖索引等知识点。MySQL采用B+树,因其利于范围查询和内存效率。数据库不使用索引可能因`!=`、`LIKE`、字段区分度低、特殊表达式或全表扫描更快。索引与NULL值处理在不同数据库中有差异,MySQL允许NULL在索引中的使用。
16 3