PHP操作数据库
一.PHP连接到MySQL
// //比较规范的写法是地址,登录名,密码这样写,比较安全 define("DB_HOST", 'localhost'); define('DB_USER', 'root'); define("DB_PWD", 'kang123456'); define('DB_NAME', 'school'); //1 连接数据库 $conn = @mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败'.mysql_error()); //2 选择指定数据库,第二个参数资源句柄可以不放;选择字符集 mysql_select_db(DB_NAME,$conn) or die('找不到数据库,错误:'.mysql_error()); mysql_query('SET NAMES UTF8') or die('字符集设置错误'.mysql_error());//注意此处不是utf-8 //3 获取记录集:从数据库里选一张表,然后把这个表的数据提出来 $query = "select *from grade"; $result = @mysql_query($query) or die('sql错误:'.mysql_error()); //返回资源句柄类型,result就是记录集,可以加一个错误抑制符号@ //4 将记录集中的信息显示出来,result就是记录集 print_r(mysql_fetch_array($result)); //返回的是数组,第二个参数可以按数字下标和字符串下标返回 //5 释放记录集资源 mysql_free_result($result); 6 关闭数据库 mysql_close(); //关闭成功返回1
二.增删改查
//1 新增数据 $query = "INSERT INTO grade (id,name,email,point,regdate) VALUES(5,'小林','hha@dfa.com',45,NOW())"; @mysql_query($query) or die('查询错误:'.mysql_error()); //2 修改数据 $query = "update grade set point=222 where id=1"; @mysql_query($query) or die('查询错误'.mysql_error()); //3 删除数据 $query = "delete from grade where id=5"; mysql_query($query) or die('查询错误:'.mysql_error()); //4 查询数据 $query = "select *from grade"; $result = @mysql_query($query) or die("查询错误:".mysql_error()); //5 显示数据 $query = "select *from grade"; $result = @mysql_query($query) or die("查询错误:".mysql_error()); while (!!$row = mysql_fetch_array($result)){ //mysql_fetch_array();赋值一个后会自动往下移动 echo $row['name'].'--'.$row['point']; //也可以[数字] echo '<br />'; }
三.其他常用函数
mysql_fetch_row():从结果集中取得一行作为枚举数组
mysql_fetch_assoc(): 从结果集中取得一行作为关联数组
mysql_fetch_array(): 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_fetch_lengths(): 取得结果集中每个输出的长度
mysql_field_name(): 取得结果中指定字段的字段名
mysql_num_rows(): 取得结果集中行的数目
mysql_num_fields():取得结果集中字段的数目
mysql_get_client_info(): 取得 MySQL 客户端信息
mysql_get_host_info(): 取得 MySQL 主机信息
mysql_get_proto_info(): 取得 MySQL 协议信息
mysql_get_server_info(): 取得 MySQL 服务器信息
//mysql_fetch_lengths(): 取得结果集中每个输出的长度 $query = "select *from grade"; $result = @mysql_query($query) or die("查询错误:".mysql_error()); while (!!$row = mysql_fetch_array($result)){ //mysql_fetch_array();赋值一个后会自动往下移动 echo $row['name'].'--'.$row['point']; //也可以[数字] print_r(mysql_fetch_lengths($result)); //显示的为每个字段的字节数,那么中文的字的个数怎么获得呢 echo mb_strlen($row['name']); //获得name的汉字个数 echo '<br />'; } //mysql_field_name(): 取得结果中指定字段的字段名 echo mysql_field_name($result,3); //第四个字段名 //mysql_num_rows(): 取得结果集中行的数目 echo mysql_num_rows($result); //5行数据 //mysql_num_fields():取得结果集中字段的数目 echo mysql_num_fields($result); //5列字段
本博客作为一个入门者的自学记录,欢迎各位同行者不吝赐教。