刚刚完成了一个操作PHP的类,看了几天的PHP,感觉操作MYSQL果然很快,而且简单。不过有几个问题要注意: 1、数据库的编码 数据库的创建与PHP脚本必须一致。在这个例子里我用的是UTF8,所以我创建的数据库默认编码是UTF8的。也可以用GBK或GB2312,看自己的需刚刚完成了一个操作php的类,看了几天的php,感觉操作mysql果然很快,而且简单。不过有几个问题要注意:
1、数据库的编码
数据库的创建与PHP脚本必须一致。在这个例子里我用的是UTF8,所以我创建的数据库默认编码是UTF8的。也可以用GBK或GB2312,看自己的需求。不过前提是一定要保持一致,大多数PHP+MYSQL的问题都是由于编码不一致。
2、WEB页面编码
(1)PHP文件的编码也要非常注意。本例中使用的“UTF8”。所以我拿PHP文件用记事本打开是“ANSI”格式的,我就把它另存为“UTF8”格式的。如果是其他格式,就存为相应该的编码文件。不然页面会出现乱码。
立即学习“PHP免费学习笔记(深入)
”;
也可以在PHP脚本中使用。
PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载header("content-type:text/html; charset=utf-8");(3)操作数据库时的编码,本例使用UTF8。
mysql_query("set names utf8",$this->conn);如果数据库使用的GBK,或GB2312,则换成相应的编码。
host=$host;$this->user=$user;$this->password=$password;$this->db=$db;$this->conn=mysql_connect($this->host,$this->user,$this->password) or die("connect error:".mysql_error());mysql_select_db($this->db,$this->conn) or die("switch db error:".mysql_error());mysql_query("set names utf8",$this->conn);}/**@param $sql 添加记录的语句*用于插入记录*/ function Add($sql){mysql_query($sql,$this->conn) or die("insert error:".mysql_error());}/**@param $sql 更新记录的语句*用于更新记录*/ function Update($sql){mysql_query($sql,$this->conn) or die("update error:".mysql_error());}/**@param $sql 删除记录的语句*用于删除记录*/ function Delete($sql){mysql_query($sql,$this->conn) or die("delete error:".mysql_error());}/**@param $sql 查询记录的语句*@return $arrs 以一个数组的形式返回数据库中所有记录的结果集*结果如下:Array([0]=>Array(第一条记录) [1]=>Array(第二条记录)...)**/ function getRecords($sql){$all=mysql_query($sql,$this->conn);$i=0;while($result=mysql_fetch_array($all)){$arrs[$i]=$result;$i++;}return $arrs;}/**@param $sql 查询记录的语句*@return $arrs 以一个数组的形式返回所有字段的结果集*结果如下:Array([0]=>字段名 [1]=>字段名...)**/ function getFields($sql){$all=mysql_query($sql,$this->conn);$i=0;while($result=mysql_fetch_field($all)){$arrs[$i]=$result->name;$i++;}return $arrs;}function Close(){mysql_close($this->conn);}}$db=new DBOperate("localhost","root","admin","mydb");//$db->Add("insert into news values(null,'新闻依旧','无上智者',now())");print_r($db->getRecords("select * from news"));$result=$db->getFields("select * from news");for($i=0;$i";}$db->Close();?>
