当前位置: 编程技术>php
本页文章导读:
▪php 验证码制作(网树注释思想)
1,生成随机数 用for循环确定生成几个随机数。 用随机函数生成范围内随机数。例如rand(1,15),生成1到15之间的数字。 用16位进制函数把生成数字字母化。dechex(rand(1,15))。 用.=运算来保存几个.........
▪PHP PDO函数库(PDO Functions)第1/2页
与ADODB和MDB2相比,PDO更高效。目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。 PDO->beginTransaction() — 标明回滚起始点 PDO->commit() .........
▪php PDO中文乱码解决办法
// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); // 方法二: PDO::__construct($dsn, $user, $pass); PDO::exec("SET NAMES 'utf8';"); 两种方法都能解决问题, 原理一样的, .........
[1]php 验证码制作(网树注释思想)
来源: 互联网 发布时间: 2013-11-30
1,生成随机数
用for循环确定生成几个随机数。
用随机函数生成范围内随机数。例如rand(1,15),生成1到15之间的数字。
用16位进制函数把生成数字字母化。dechex(rand(1,15))。
用.=运算来保存几个数字。
把生成好的随机数放到$_SESSION[变量]。等将来跟用户提交的内容比较。
2,创建图片
用图片创建函数确定,所创建的图片大小。
例如$im = imagecreatetruecolor(100,30);其中坐标100,30是以网页左上角为原点,$im为图片变量了。
3,设置颜色
使用函数 创建背景色。例如$bg = imagecolorallocate($im,0,0,0);其中0,0,0是三原色数字,$im为上面创建的图片
使用函数 创建字体色。例如$te = imagecolorallocate($im,255,255,255);
4,把字符写在图像左上角
使用函数 imagestring()吧字符写在图像。例如imagestring($im,5,0,0,$rand,$te);$im为上面创建的图片,5是显示方式,0,0
是坐标,$te是字体颜色
5,输出图像
使用函数 header("Content-type:image/jpeg");imagejpeg($im);输出图像。
----------------------------------我是华丽的分割线---------------------------
1,开启session功能;例如session_start();
2,写表单
3,表单提交的验证码 数据 与上面的$_SESSION[变量]比较
相等,验证正确。
不相等,则错误。
用for循环确定生成几个随机数。
用随机函数生成范围内随机数。例如rand(1,15),生成1到15之间的数字。
用16位进制函数把生成数字字母化。dechex(rand(1,15))。
用.=运算来保存几个数字。
把生成好的随机数放到$_SESSION[变量]。等将来跟用户提交的内容比较。
2,创建图片
用图片创建函数确定,所创建的图片大小。
例如$im = imagecreatetruecolor(100,30);其中坐标100,30是以网页左上角为原点,$im为图片变量了。
3,设置颜色
使用函数 创建背景色。例如$bg = imagecolorallocate($im,0,0,0);其中0,0,0是三原色数字,$im为上面创建的图片
使用函数 创建字体色。例如$te = imagecolorallocate($im,255,255,255);
4,把字符写在图像左上角
使用函数 imagestring()吧字符写在图像。例如imagestring($im,5,0,0,$rand,$te);$im为上面创建的图片,5是显示方式,0,0
是坐标,$te是字体颜色
5,输出图像
使用函数 header("Content-type:image/jpeg");imagejpeg($im);输出图像。
----------------------------------我是华丽的分割线---------------------------
1,开启session功能;例如session_start();
2,写表单
3,表单提交的验证码 数据 与上面的$_SESSION[变量]比较
相等,验证正确。
不相等,则错误。
[2]PHP PDO函数库(PDO Functions)第1/2页
来源: 互联网 发布时间: 2013-11-30
与ADODB和MDB2相比,PDO更高效。目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。
PDO->beginTransaction() — 标明回滚起始点
PDO->commit() — 标明回滚结束点,并执行SQL
PDO->__construct() — 建立一个PDO链接数据库的实例
PDO->errorCode() — 获取错误码
PDO->errorInfo() — 获取错误的信息
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute() — 获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers() — 获取有效的PDO驱动器名称
PDO->lastInsertId() — 获取写入的最后一条数据的主键值
PDO->prepare() — 生成一个“查询对象”
PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->quote() — 为某个SQL中的字符串添加引号
PDO->rollBack() — 执行回滚
PDO->setAttribute() — 为一个“数据库连接对象”设定属性
PDOStatement->bindColumn() — Bind a column to a PHP variable
PDOStatement->bindParam() — Binds a parameter to the specified variable name
PDOStatement->bindValue() — Binds a value to a parameter
PDOStatement->closeCursor() — Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() — Returns the number of columns in the result set
PDOStatement->errorCode() — Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() — Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() — Executes a prepared statement
PDOStatement->fetch() — Fetches the next row from a result set
PDOStatement->fetchAll() — Returns an array containing all of the result set rows
PDOStatement->fetchColumn() — Returns a single column from the next row of a result set
PDOStatement->fetchObject() — Fetches the next row and returns it as an object.
PDOStatement->getAttribute() — Retrieve a statement attribute
PDOStatement->getColumnMeta() — Returns metadata for a column in a result set
PDOStatement->nextRowset() — Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() — Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() — Set a statement attribute
PDOStatement->setFetchMode() — Set the default fetch mode for this statement
从函数列表可以看出,操作基于不同的对象,“PDO”表示的是一个数据库连接对象(new PDO产生),“PDOStatement”表示的是一个查询对象(PDO->query()产生)或者是一个结果集对象(PDO->prepare()产生)。
一个“数据库连接对象”的例子,返回“PDO”:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', '');
?>
一个“查询对象”的例子,返回“PDOStatement”:
<?php
$sql = "INSERT INTO `test`.`table` (`name` ,`age`)VALUES (?, ?);";
$stmt = $dbh->prepare($sql);
?>
一个“结果集对象”的例子,返回“PDOStatement”:
<?php
$sql = "SELECT * FROM `table` WHERE `name` = 'samon'";
$stmt = $dbh->query($sql);
?>
PDO->beginTransaction() — 标明回滚起始点
PDO->commit() — 标明回滚结束点,并执行SQL
PDO->__construct() — 建立一个PDO链接数据库的实例
PDO->errorCode() — 获取错误码
PDO->errorInfo() — 获取错误的信息
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute() — 获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers() — 获取有效的PDO驱动器名称
PDO->lastInsertId() — 获取写入的最后一条数据的主键值
PDO->prepare() — 生成一个“查询对象”
PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->quote() — 为某个SQL中的字符串添加引号
PDO->rollBack() — 执行回滚
PDO->setAttribute() — 为一个“数据库连接对象”设定属性
PDOStatement->bindColumn() — Bind a column to a PHP variable
PDOStatement->bindParam() — Binds a parameter to the specified variable name
PDOStatement->bindValue() — Binds a value to a parameter
PDOStatement->closeCursor() — Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() — Returns the number of columns in the result set
PDOStatement->errorCode() — Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() — Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() — Executes a prepared statement
PDOStatement->fetch() — Fetches the next row from a result set
PDOStatement->fetchAll() — Returns an array containing all of the result set rows
PDOStatement->fetchColumn() — Returns a single column from the next row of a result set
PDOStatement->fetchObject() — Fetches the next row and returns it as an object.
PDOStatement->getAttribute() — Retrieve a statement attribute
PDOStatement->getColumnMeta() — Returns metadata for a column in a result set
PDOStatement->nextRowset() — Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() — Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() — Set a statement attribute
PDOStatement->setFetchMode() — Set the default fetch mode for this statement
从函数列表可以看出,操作基于不同的对象,“PDO”表示的是一个数据库连接对象(new PDO产生),“PDOStatement”表示的是一个查询对象(PDO->query()产生)或者是一个结果集对象(PDO->prepare()产生)。
一个“数据库连接对象”的例子,返回“PDO”:
代码如下:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', '');
?>
一个“查询对象”的例子,返回“PDOStatement”:
代码如下:
<?php
$sql = "INSERT INTO `test`.`table` (`name` ,`age`)VALUES (?, ?);";
$stmt = $dbh->prepare($sql);
?>
一个“结果集对象”的例子,返回“PDOStatement”:
代码如下:
<?php
$sql = "SELECT * FROM `table` WHERE `name` = 'samon'";
$stmt = $dbh->query($sql);
?>
[3]php PDO中文乱码解决办法
来源: 互联网 发布时间: 2013-11-30
// 方法一:
PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
// 方法二:
PDO::__construct($dsn, $user, $pass);
PDO::exec("SET NAMES 'utf8';");
两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了
PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
// 方法二:
PDO::__construct($dsn, $user, $pass);
PDO::exec("SET NAMES 'utf8';");
两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了
最新技术文章: