您的位置:首页 > 数据库 > MySQL

MYSQL里的预定义查询

2005-11-06 15:29 393 查看
在java里,用JDBC,可以在程序中用preparestaement来实现预定义查询(Prepared queries/prepared statements),但可惜在PHP里,暂时没办法实现。但如果你的数据库是PostgreSQL的话,则可以利用
MYSQL的特性,实现这样的功能,例子如下
pg_query($conn, “PREPARE stmt_name (text) AS SELECT * FROM users WHERE name=$1”);
pg_query($conn, “EXECUTE stmt_name ({$name})”);
pg_query($conn, “DEALLOCATE stmt_name”);

PREPARE stmt_name (text) AS ..定义了一个查询的格式,这里除了$1之外的所有字符都是占位符,不允许更改.其中,复习下pq_query的用法

pg_query

(PHP 4 >= 4.2.0, PHP 5)
pg_query -- 执行查询

说明

resource pg_query[/b] ( resource connection, string query)

pg_query()[/b] 在查询可以执行时返回查询结果资源号。如果查询失败或者提供的连接号无效则返回 FALSE。如果连接号有效,则可以用 pg_last_error()[/b] 函数来提取详细的错误信息。pg_query()[/b] 发送一条 SQL 语句到 connection 资源指定的 PostgreSQL 数据库。connection 必须是由 pg_connect()[/b]pg_pconnect()[/b] 返回的合法连接号。本函数返回值是一个其它 PostgreSQL 函数例如 pg_fetch_array()[/b] 可以用来访问查询结果的查询结果资源号。

注: connection 是 pg_query()[/b] 中的可选参数。如果没有指定 connection,则使用默认连接。默认连接是 pg_connect()[/b]pg_pconnect()[/b] 所打开的最后一个连接。

尽管 connection 参数可以省略,但不推荐这样做。因为这样可能会导致很难发现脚本中的错误。

注: 本函数以前的名字为 pg_exec()。pg_exec() 函数为了兼容性的原因仍然可以使用,但是鼓励用户使用新的名字。

参见 pg_connect()[/b]pg_pconnect()[/b]pg_fetch_array()[/b]pg_fetch_object()[/b]pg_num_rows()[/b]pg_affected_rows()[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: