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 -- 执行查询
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]。
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]。
相关文章推荐
- MySQL学习---->第二练:语句初步(SQL概述、数据定义、查询)
- MySQL中查询已定义字段的类型和长度命令
- Mysql 一个字段定义成int类型,查询时传入String,会截取字符串
- MYSQL里的预定义查询
- [MySQL Slow log]正确安全清空在线慢查询日志slow log的流程
- MySql高效的查询出随机记录的方法
- MySQL多表查询
- mysql查询语句
- MySQL查询当天0点,昨天
- Mysql中查询某一天,某一月,某一年的数据
- 索引查询MySQL前缀索引导致的慢查询
- mysql LIKE,FIND_IN_SET,locate,查询字段中包含
- 强类型数据集:定义初始化查询方法时,JOIN和子查询的区别
- PHP获取MySQL执行sql语句的查询时间
- MySql 模糊查询
- 【原创】PHP访问MySQL查询超时处理
- mysql类似rownum查询
- MySQL(七)之多表查询
- mysql 查询表占用空间大小
- mysql 分组查询某一列最大的前10条记录