通常,php网页中完成有关数据库的操作,首先,需要如下代码:
$link = mysql_connect(“数据库服务器地址”,”用户名”,”密码”); //连接数据库系统
mysql_query(“set names 网页文件编码名”); //设定“连接编码”;
//也可以这样做:mysql_set_charset(“网页文件编码名”);
mysql_query(“use 数据库名”); //选定要使用的数据库
//也可以这样做:mysql_select_db(“数据库名”);
然后,才开始正式执行要完成的数据库操作任务(语句):
$result = mysql_query(“select / delete /update / insert / desc / show tables /drop .......”);
其他个别补充:
mysql_error():获取mysql执行失败时的错误信息。它通常应用与如下场合:
$result = mysql_query(“select / delete / update / insert / create / dropt ....所有sql语句”);
if( $result === false){
echo “语句执行失败,请参考提示信息:” . mysql_error();
}
else{
//这里是成功的情况,那就后续处理。。。
}
对于mysql_query()这个函数,可以执行“几乎任何sql语句”,在应用中,通常需要区分为2情况:
情况1:执行没有数据返回的语句,比如:insert, update, delete, create table, create database ,drop ...
这种语句,使用mysql_query()函数,执行的结果只有true和false返回:
返回true:表示执行成功;
返回false:表示执行失败;
情况2:执行有数据返回的语句:select, show tables, show databases, desc 表名(显示表结构);
此时,使用mysql_query()函数,返回的结果分为:
如果失败:返回的是false;
如果成功:返回的是“结果集”——“数据集”——就是一行一行数据,就是有字段的一个“表结构”。它需要我们进一步去“取出”数据,才能使用其中的数据,其基本模式为:
$result = mysql_query(“select ... “); //执行有返回数据的语句
while ( $rec = mysql_fetch_array( $result ) ){
//mysql_fetch_array()会取出该结果集中的“一行数据”,并取得该行数据后赋值给$rec;
//此$rec就是一个数组,其下标就是字段名;
//在此while循环中,mysql_fetch_array()会一次次(一行行)取出结果集中的所有数据;
然后,在这里就可以处理该数组$rec了:
}
“fetch函数”的3种形式的辨析:
假设mysql_query(“select id, age, name ”)执行的结果集为$result,其该表中的数据类似这样:
id name age
1 user1 18
2 张三 28
4 user4 38
$result = mysql_query(“select id, age, name ”);
mysql_fetch_assoc($result):得到的数组类似这样:
array(“id” => 1, “name” => “user1”, “age”=>18);
mysql_fetch_row($result):得到的数组类似这样:
array(0=> 1, 1=> “user1”, 2=>18);
mysql_fetch_array($result):得到的数组类似这样:
array(“id” => 1, “name” => “user1”, “age”=>18, 0=> 1, 1=> “user1”, 2=>18);
扩展php中操作mysql数据的几个函数:
$n1 = mysql_num_rows(结果集); //获得该结果集的数据行数;
$n2 = mysql_num_fields(结果集); //获得该结果集的数据列数;
$name = mysql_field_name(结果集, $i ); //获得结果集的第i个字段的名字!i从0开始算起