官方对mysql_query函数和mysql_db_query函数

看了下中文的说明,有看了下官方英文说明,还是英文的好使。


1.看mysql_query函数

说明  :http://ca2.php.net/manual/en/function.mysql-query.php

定义  resource mysql_query ( string $query [, resource $link_identifier ] )

功能:发送唯一查询请求(不支持多个查询)到当前活动的和link_identifier关联的数据库服务器。

参数:

a.query 一个sql查询,查询字符串不应以分号结尾,在查询里面的数据应该被properly escaped.

properly escaped我不知道怎么翻译,就是字符过滤,用mysql_read_escape_string函

http://ca2.php.net/manual/en/function.mysql-real-escape-string.php

该函数用来过滤特殊字符,由于我写了自己的安全过滤函数,就不管它了,不过发现它里面有一个用法挺好的

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

这算山寨C语言不,也太逼真了。

b.link_identifier 数据库连接,这个没啥好说的


返回值:对于SELECT,SHOW,DESCRIBE,EXPLAIN以及其他语句返回结果,在成功的时候,他会返回一个资源句柄,失败时候返回false。

对其他SQL语句,INSERT,UPDATE,DELETE,DROP,etc(有这个语句??),成功返回true,失败返回false。

对于返回的资源句柄,应该传递给mysql_fetch_array,以及其他处理结果表的函数,来访问返回数据。

对于SELECT语句,使用mysql_num_rows()找出有多少行数据被返回;对于DELETE,UPDATE,REPLACE,INSERT语句,应使用

mysql_affected_rows函数去得知有多少行受影响。

mysql_query将仅仅失败并返回false,如果用户没有权限去访问query里面涉及到的表。

从后面的例子里来看,返回的资源句柄需要手动释放mysql_free_result()函数来做这个事。

2.再来看mysql_db_query函数

http://ca.php.net/manual/en/function.mysql-db-query.php

定义:resource mysql_db_query ( string $database , string $query [, resource $link_identifier ] )

不过看这个苦逼的玩意已经没什么意义了,他已经在PHP 5.3.0种被弃用了。我就简单说下了。

功能:他比mysql_db_query多一个参数,即数据库名,他内含了数据库选择功能,即mysql_select_db().先选择再查询。

返回值:看起来和mysql_query()一样。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值