主要内容:使用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易查看)


PHP和Mysql简单的交互_mysql

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: 男
*/
?>