首页 > 开发 > PHP > 正文

PHP PDOStatement::debugDumpParams讲解

2024-05-04 22:41:22
字体:
来源:转载
供稿:网友

PDOStatement::debugDumpParams

PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

说明

语法

bool PDOStatement::debugDumpParams ( void )

直接打印出一条预处理语句包含的信息。提供正在使用的 SQL 查询、所用参数(Params)的数目、参数的清单、参数名、用一个整数表示的参数类型(paramtype)、键名或位置、值、以及在查询中的位置(如果当前 POD 驱动不支持,则为-1)。

此为一个用于调试的功能,在正常输出的情况下直接输出数据。

提示:和直接将结果输出到浏览器一样,可使用输出控制函数来捕获当前函数的输出,然后(例如)保存到一个string中。

只打印此时此刻语句中的参数。额外的参数不存储在语句中,也就不会被输出。

返回值

没有返回值。

实例

PDOStatement::debugDumpParams()使用命名参数的例子

<?php/* 通过绑定 PHP 变量执行一条预处理语句 */$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, colour, calories  FROM fruit  WHERE calories < :calories AND colour = :colour');$sth->bindParam(':calories', $calories, PDO::PARAM_INT);$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();$sth->debugDumpParams();?>

以上例程会输出:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

PDOStatement::debugDumpParams()使用未命名参数的例子

<?php/* 通过绑定 PHP 变量执行一条预处理语句 */$calories = 150;$colour = 'red';$name = 'apple';$sth = $dbh->prepare('SELECT name, colour, calories  FROM fruit  WHERE calories < ? AND colour = ?');$sth->bindParam(1, $calories, PDO::PARAM_INT);$sth->bindValue(2, $colour, PDO::PARAM_STR);$sth->execute();$sth->debugDumpParams();?>

以上例程会输出:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对错新站长站的支持。如果你想了解更多相关内容请查看下面相关链接

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表