PHP之PDO操作mysql数据库

时间:2024-03-15 21:59:22

PDO是PHP新版中,基于面向对象的操作数据库的方式;

先在PHP的配置文件中打开pdo开关;

PHP之PDO操作mysql数据库

使用步骤:链接,认证,操作数据库


PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

$dsn='mysql:host=127.0.0.1;port=80;dbname=lamboone';
$username='root';
$password='123';
$driver_options=array(
PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES UTF8',

);


$pdo=new PDO($dsn,$username,$password,$driver_options);


一旦实例化了PDO,链接,认证就完成了;

PHP之PDO操作mysql数据库

返回是对象(PDOStatement类的对象,称之为PDO结果对象),相当于mysql执行后返回的结果集;

PHP之PDO操作mysql数据库

利用结果对象,获取我们需要的对象;

PHP之PDO操作mysql数据库

错误信息和错误码;

$pdo->errorInfo();

$pdo->errorCode();

$pdo->beginTranseaction();//开启事务

$pdo->rollback();//回滚

$pdo->commit();//提交事务

$pdo->inTransaction();//是否处于事务中;

$pdo->lastInsertID();//最后一条插入的ID

$pdo->exec();//执行SQL的方法,区别于query(),返回的数据不一样;

PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

返回的影响记录的条数为0 时,不一定操作失败;

PHP之PDO操作mysql数据库


PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

//预编译的写法
//下面的sql写法两种都可以
//$sql="inert into  team values(null,?)";
$sql="insert into team values(null,:team_name)";
$stmt=$pdo->prepare($sql);
//绑定---下面的两种写法对应上面的两种sql写法
$stmt->bindValue(1,' 国安');
$stmt->bindValue(':team_name','国安');
//执行
$result =$stmt->execute();



=========PDOStatement的常用方法;

PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

PHP之PDO操作mysql数据库

====PDO(PHP Data Object)是数据库抽象层的一种;

数据库抽象层是将多种数据库的共同操作抽象出来,使用同一种语法来完成;

数据库抽象层已经被排行内置,驱动需要在PHP中打开各种数据库扩展;

PHP之PDO操作mysql数据库PHP之PDO操作mysql数据库


=========后台公共登陆验证:

增加平台控制器;

=============后台验证码功能;验证码是为了拉大请求的时间;

PHP之PDO操作mysql数据库


PHP之PDO操作mysql数据库

==============PHP的图形处理技术----GD(很多语言都用这个)

步骤:

开启GD 扩展

PHP之PDO操作mysql数据库

1.创建画布(是一种资源型数据,可以操作的图像资源);

$img=imageCreate(宽,高);//创建一个基于调色板的画布,容纳的色少

imageCreateTrueColor(宽,高);//创建真彩色的画布,容纳的色多;

imageCreateFromJPEG(图片地址);//基于已有的图片创建画布

imageCreateFromPNG(图片地址);

imageCreateFromGIF(图片地址);

2.如果要给画布填上颜色,应该先将颜色分配到画布上;

imageColorAllocate(画布,R,G,B);

3.填充画布:将填充点,颜色连续的像素点颜色替换掉;

imageFill(画布,填充位置的x,填充位置的y,颜色标识);

位置采用坐标进行管理;

原点:0,0-画布的左上角;

PHP之PDO操作mysql数据库

4.输出画布,将画布中处理好的图样信息,输出出来;

有两种方法:一,输出到图片文件,二,直接输出

imagePNG(画布,输出到的文件);

imageJPEG();

imageGIF();

如果上面的参数没有输出的文件,则直接输出;

如果直接输出到浏览器,应该告知浏览器,响应的数据类型是PNG格式的图片;

header('Content-Type:image/png’);------告知浏览器,响应的数据类型是PNG格式的图片


一个画布可以多次输出,输出为各种格式;

5.手动销毁画布,如果不手动销毁画布,程序结束也会自动销毁画布资源

imageDestroy($img);