php操作主从mysql_PHP 操作MySQL数据库

第16章 PHP操作MySQL

学习要点:

1.PHP连接到MySQL

2.增删改查

3.其他常用函数

如果你已经具有了使用PHP、SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起。PHP与MySQL之间稳固的集成只是众多程序员采纳它的一个原因,还有一个原因就是,它如此的简单方便。

一.PHP连接到MySQL

这里,我们全面采用UTF-8编码。

设置Zend Stduio的编码:Window -> Preferences -> Workspace

标头设置,让火狐和IE保持编码统一:

header('Content-Type:text/html; charset=utf-8');

?>

连接MySQL

$conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or

die('数据库连接失败!错误信息:'.mysql_error());

?>

数据库连接参数,可以用常量存储,这样就不能修改,更加安全。

define('DB_USER','root');

define('DB_PASSWORD','yangfan');

define('DB_HOST','localhost');

define('DB_NAME','school');

?>

选择你所需要的数据库

@mysql_select_db(DB_NAME) or die('数据库找不到!错误信息:'.mysql_error());

?>

设置字符集,如果是GBK,直接设置SET NAMES GBK即可

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');

?>

获取记录集

$query = "SELECT * FROM grade";

$result = @mysql_query($query) or die('SQL语句有误!错误信息: '.mysql_error());

?>

输出一条记录

print_r(mysql_fetch_array($result,MYSQL_ASSOC));

?>

释放结果集资源

mysql_free_result($result);

?>

关闭数据库

mysql_close($conn);

?>

二.增删改查

新增数据

$query = "INSERT INTO grade (name,email,point,regdate) VALUE

('李炎恢','yc60.com@gmail.com',,NOW())";

@mysql_query($query) or die('添加数据出错:'.mysql_error());

?>

修改数据

$query = "UPDATE grade SET name='小可爱' WHERE id=6";

@mysql_query($query) or die('修改出错:'.mysql_error());

?>

删除数据

$query = "DELETE FROM grade WHERE id=6";

@mysql_query($query) or die('删除错误:'.mysql_error());

?>

显示数据

$query = "SELECT id,name,email,point FROM grade";

$result = @mysql_query($query) or die('查询语句出错:'.mysql_error());

while (!!$row = mysql_fetch_array($result)) {

echo $row['id'].'----'.$row['name'].'----'.$row['email'].'----'.$row['point'];

echo '
';

}

?>

三.其他常用函数

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服务器信息

================================================================

================================================================

================================================================

整体操作:

对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。

返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。

假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行

或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。

如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。*/

//第一步,设置输出编码

header('Content-Type:text/html; charset=utf-8');//第二步,定义常量,保存链接参数

//数据库服务器

define('DB_SERVER','localhost:3306');//用户名

define('DB_NAME','root');//密码

define('DB_PWD','123456');//数据库

define('DB_DATABASE', 'guest');//第三步,连接数据库服务器

$conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));//第四步,选择使用的数据库

@mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));//第五步,设置返回数据的字符集

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');//第六步,创建并发送一条SQL语句

//创建SQL语句

$query = "select * from g_users";//发送语句

$result = @mysql_query($query,$conn) or die('SQL错误,错误信息:'.mysql_errno());//第七步,取得查询的数据

//取得所有数据

$data = mysql_fetch_array($result,MYSQL_ASSOC);//取得总记录条数

//$data = mysql_num_rows($result);

//第八步,打印出数据

print_r($data);//第九步,销毁获取的数据资源

mysql_free_result($result);//第十步,关闭数据库连接

mysql_close($conn);?>

配置MySQLHELper代码:

header('Content-Type:text/html; charset=utf-8');//第二步,定义常量,保存链接参数

//数据库服务器

define('DB_SERVER','localhost:3306');//用户名

define('DB_NAME','root');//密码

define('DB_PWD','123456');//数据库

define('DB_DATABASE', 'test');//第三步,连接数据库服务器

$conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));//第四步,选择使用的数据库

@mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));//第五步,设置返回数据的字符集

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');?>

操作代码:

/*$Insert_query = "insert into person (name, sex) values ('张三', '男')";

//执行

@mysql_query($Insert_query) or die('插入操作失败,错误原因:'.mysql_error());

//返回 insert ,delete, update,等修改的行数

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '添加成功!';

}else {

echo '添加失败!';

}*/

//删除一条数据

/*$delete_query = "delete from person where id = 7";

//执行

@mysql_query($delete_query) or die('删除数据失败,错误原因:'.mysql_error());

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '删除成功!';

}else {

echo '删除失败!';

}*/

//修改一条数据

/*$update = "update person set name = '王五', sex = '女' where id = 8";

//执行

@mysql_query($update) or die('修改发生错误,错误原因:'.mysql_error());

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '修改成功!';

}else {

echo '修改失败!';

}*/

//查询数据

/*$query = "select id, name, sex from person";

$result = mysql_query($query);*/

//打印单行

/*$row = mysql_fetch_array($result,MYSQL_ASSOC);

echo $row['id'].'--'.$row['name'].'--'.$row['sex'];*/

//打印多行

//当$row不为空的时候,打印数据。使用"!!"的作用是,使得$row数组转换为布尔值。

/*while (!!$row = mysql_fetch_array($result)) {

echo $row['id'].'--'.$row['name'].'--'.$row['sex']."
";

}*/

//获取记录条数

/*$num_query = "select id, name, sex from person";

$result = mysql_query($num_query) or die('查询条数出错,错误信息:'.mysql_error());

$num = mysql_num_rows($result);

echo '条数:'.$num;*/

//关闭数据库链接

mysql_close();?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值