> 数据库 > MySQL >

mysql数据库链接以及对数据库操作方法

1、链接数据库

 

[php] view plain copy
 
 print?
  1. /* 
  2.  *链接数据库方法 
  3.  *@param string $localhost 主机 
  4.  *@param string $dbuser 数据库用户名 
  5.  *@param string $dbpassword 数据库密码 
  6.  *@param string $dbname 数据库名 
  7.  *@author liuxinming 
  8.  */  
  9. function db_connect($localhost,$dbuser,$dbpassword,$dbname){  
  10.     $conn=@mysql_connect($localhost,$dbuser,$dbpassword);  
  11.     if(!$conn){  
  12.        die('Could not connect: ' . mysql_error());  
  13.     }  
  14.     $dbname=@mysql_select_db($dbname$conn);  
  15.     if(!$dbname){  
  16.         die ("Can\'t use test_db : " . mysql_error());  
  17.     }  
  18.     return $conn;  
  19. }  
  20. $conn=db_connect('127.0.0.1','root','123456','test');  

2、数据库相关操作

 

 

[php] view plain copy
 
 print?
  1. /* 
  2.  * mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。 
  3.  */  
  4. $sql='select * from test';  
  5. $result =mysql_query($sql);  
  6. echo $result.'<br>';  
  7. //输出 结果:Resource id #3  代表正确返回值  
  8.   
  9. /* 
  10.  * 如果mysql_query() 查询成功 可以通过mysql_num_rows() 查看对应select 返回了多少行 
  11.  * 返回结果集中行的数目。仅对select有效 
  12.  */  
  13. $num_rows=mysql_num_rows($result);  
  14. echo $num_rows.'行<br>';  
  15.   
  16. /* 
  17.  * mysql_affected_rows()取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目 
  18.  * 本列返回被删除记录的准确数目 
  19.  */  
  20.  $sql='DELETE FROM test WHERE id < 10';  
  21.  $result =mysql_query($sql);  
  22.  $delete_rows=mysql_affected_rows();  
  23.  //输出 结果:Records deleted: 10  
  24.    
  25.  /* 
  26.   * mysql_fetch_array()从结果集中取得一行作为关联数组,或数字数组,或二者兼有 
  27.   * ---------------------------------------------------------------- 
  28.   * mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量, 
  29.   * 可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。 
  30.   *     MYSQL_BOTH :将得到一个同时包含关联和数字索引的数组 
  31.   *     MYSQL_ASSOC:只得到关联索引(如同 mysql_fetch_assoc() 那样) 
  32.   *     MYSQL_NUM:只得到数字索引(如同 mysql_fetch_row() 那样) 
  33.   * 本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。 
  34.   * ---------------------------------------------------------------- 
  35.   */  
  36.   $sql='SELECT id, name FROM test';  
  37.   $result = mysql_query($sql);  
  38.   $row=mysql_fetch_array($result);  
  39.   print_r($row);  
  40.   mysql_free_result($result);//释放与之关联的资源 (脚本执行完毕后会自动释放内存)  
  41.   //输出 结果:Array([0]=1,[1]=刘昕明) 可以使用while / foreach / for 等循环语句处理自己需要的结果  
  42.   //推荐使用:foreach 效率高  



(责任编辑:IT)