1、链接数据库
/*
*链接数据库方法
*@param string $localhost 主机
*@param string $dbuser 数据库用户名
*@param string $dbpassword 数据库密码
*@param string $dbname 数据库名
*@author liuxinming
*/
function db_connect($localhost,$dbuser,$dbpassword,$dbname){
$conn=@mysql_connect($localhost,$dbuser,$dbpassword);
if(!$conn){
die('Could not connect: ' . mysql_error());
}
$dbname=@mysql_select_db($dbname, $conn);
if(!$dbname){
die ("Can\'t use test_db : " . mysql_error());
}
return $conn;
}
$conn=db_connect('127.0.0.1','root','123456','test');
2、数据库相关操作
/*
* mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。
*/
$sql='select * from test';
$result =mysql_query($sql);
echo $result.'<br>';
//输出 结果:Resource id #3 代表正确返回值
/*
* 如果mysql_query() 查询成功 可以通过mysql_num_rows() 查看对应select 返回了多少行
* 返回结果集中行的数目。仅对select有效
*/
$num_rows=mysql_num_rows($result);
echo $num_rows.'行<br>';
/*
* mysql_affected_rows()取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目
* 本列返回被删除记录的准确数目
*/
$sql='DELETE FROM test WHERE id < 10';
$result =mysql_query($sql);
$delete_rows=mysql_affected_rows();
//输出 结果:Records deleted: 10
/*
* mysql_fetch_array()从结果集中取得一行作为关联数组,或数字数组,或二者兼有
* ----------------------------------------------------------------
* mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,
* 可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。
* MYSQL_BOTH :将得到一个同时包含关联和数字索引的数组
* MYSQL_ASSOC:只得到关联索引(如同 mysql_fetch_assoc() 那样)
* MYSQL_NUM:只得到数字索引(如同 mysql_fetch_row() 那样)
* 本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。
* ----------------------------------------------------------------
*/
$sql='SELECT id, name FROM test';
$result = mysql_query($sql);
$row=mysql_fetch_array($result);
print_r($row);
mysql_free_result($result);//释放与之关联的资源 (脚本执行完毕后会自动释放内存)
//输出 结果:Array([0]=1,[1]=刘昕明) 可以使用while / foreach / for 等循环语句处理自己需要的结果
//推荐使用:foreach 效率高