分享

官方对mysql

 yliu277 2015-04-21

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


1.看mysql_query函数

说明  :http://ca2./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./manual/en/function.mysql-real-escape-string.php

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

  1. <?php  
  2. // Connect  
  3. $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')  
  4.     OR die(mysql_error());  
  5.   
  6. // Query  
  7. $query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",  
  8.             mysql_real_escape_string($user),  
  9.             mysql_real_escape_string($password));  
  10. ?>  

这算山寨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./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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多