PHP操作数据库

时间:2023-03-09 14:52:25
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列字段