PHP和Mysql简单的交互

主要内容:使用PHP连接MySql,插入数据和查询数据。处理中文乱码问题。

建立连接:php.ini 中的 extension=php_mysql.dll 前面的分号去掉。同时检查
extension_dir=“”是否正确,填写php中ext的位置
开启 MySQL 链接:   mysql_connect("主机", "用户名", "密码")
打开一个数据库:  mysql_select_db("打开数据库",连接标识符);
如果连接标识符默认,则默认为是上一次打开的连接。
mysql_query (SQL语句 ,连接标识符); 
成功后返回一个结果标识符,失败时返回false。 
比如:
$sql = "SELECT * FROM  ……"; 
$result = @ mysql_query($sql, $conn) or die(mysql_error()); 
 
mysql_query("set names 'GBK'"); 解决中文乱码
mysql_fetch_row()  用来将查询结果的一行保存至数组,该数组下标从0开始。通过循环,可以将查询结果全部获得。 
mysql_fetch_array() 和mysql_fetch_row() 相比还可以用域名作索引。  
mysql_num_rows  用于计算查询结果中所得行的数目
mysql_tablename 取得数据库名称
mysql_error   返回错误信息
mysql_close 关闭 MySQL 链接
 
不同的单引号`` 用于表名,字段,'' 用于字符串值,如where name='stephen'
这次解决了上次做微型博客系统没有问题:插入数据,中文乱码。
1.网页保存的编码类型(php文件,UTF-8无BOM编码)
2.数据库的编码格式 (phpmyadmin易查看)

3.连接数据库后php执行:  mysql_query("set names 'UTF8'");  // 注:是UTF8不是UTF-8
再插入数据
3者统一。
想要正常显示中文,我们需要  mysql_query("set names 'GBK'");

相关代码:

<?php
$conn=@mysql_connect("localhost","root","***") or die(mysql_error());
@mysql_select_db("db_study",$conn) or die(mysql_error());
mysql_query("set names 'GBK'");  // 用于正常显示中文
$sql="select * from student";
$result=mysql_query($sql,$conn);
$rnum=mysql_num_rows($result);
echo "here are informations: ".$rnum."<br>";
while($row=mysql_fetch_array($result)){  // mysql_fetch_array 可以用字段作为索引 
    echo "name: ".$row['name'].", age: ".$row['age'].", sex: ".$row['sex']."<br>";
}
mysql_query("set names 'UTF8'"); // 用于正常插入正文
$sql = "INSERT INTO `student` VALUES ('ss',19,'男')";
@mysql_query($sql,$conn) or die(mysql_error());
mysql_close();
/*
output:
here are informations: 3
name: Elena, age: 19, sex: 女
name: ss, age: 19, sex: 男
name: ss, age: 19, sex: 男
*/
?>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值