PHP和Mysql简单的交互

来源:互联网 发布:卡尔曼滤波算法程序 编辑:程序博客网 时间:2024/05/16 07:02
主要内容:使用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: 3name: Elena, age: 19, sex: 女name: ss, age: 19, sex: 男name: ss, age: 19, sex: 男*/?>


0 0
原创粉丝点击