首页 > 代码库 > 【PHP&&MySQL详解】
【PHP&&MySQL详解】
PHP和MySQL是一对好搭档,PHP中有一个很大的扩展库专门针对对MySQL的操作。当然,作为一个PHP程序员,首先对MySQL的增删查改要非常熟悉才行。
MySQL数据库的连接数大概在6w个左右,6w看上去似乎很大,但是我们要知道,由于对于一个用户来说非常有可能不仅仅只有一个数据库连接,很有可能有很多个,而且对数据库的连接并不能马上就关掉,这就造成了MySQL数据库连接的瓶颈,所以对于底层资源,我们晚使用早关闭,这是数据库编程的第一要义。
对于PHP来说,如果是查询操作要关闭资源和关闭连接两个动作,如果是删除、更新、添加操作只需要关闭连接。
关闭资源:mysql_free_result($resource);这个动作的实际含义就是清空资源(查询到的数据)所占的内存。
关闭连接:mysql_close($connect);这个动作的含义就是关闭和MySQL数据库的链接。
MySQL数据库对于表的crud操作是基础,不再赘述。
其余操作在下面的代码中体现。
interface.php:提供了增删查改的流程控制语句
1 <?php 2 require_once ‘Mysql.class.php‘; 3 $object=new Mysql("localhost",‘root‘,‘5a6f38‘,‘users‘); 4 //查找操作 5 echo "单独的查询操作后,"; 6 print_all($object); 7 8 //插入操作 9 echo "单独的插入数据的操作之后,";10 $sql="insert into user1(name,password,email,age) values (‘艳荣‘,md5(‘sssx‘),‘1649653731@qq.com‘,23)";11 $res=$object->update_dml($sql);12 $sql="select * from user1";13 print_all($object);14 15 //更新操作16 echo "单独的更新刚插入的数据之后,";17 $insert_id=mysql_insert_id();//得到刚刚插入表项的id号。18 $sql="update user1 set email=‘2632979128@sohu.com‘where id=‘".mysql_insert_id()."‘";19 echo $sql."<br/>";20 $res=$object->update_dml($sql);21 print_all($object);22 23 //删除操作24 echo "删除刚刚插入的数据之后,";25 $sql="delete from user1 where id=‘".$insert_id."‘";26 echo $sql."<br/>";27 $res=$object->update_dml($sql);28 print_all($object);29 30 31 32 33 34 $object->close_connection($object->getconnection());//断开和数据库的连接35 function print_all($object)36 {37 echo "查询数据表结果为:";38 $res=$object->search_dql("select * from user1 order by id");39 while($row=mysql_fetch_row($res))40 {41 foreach($row as $key=>$value)42 {43 echo $value."--";44 }45 echo "<br/>";46 }47 $object->close_resource($object->getresource());//关闭资源48 echo "<br/><br/>";49 }50 ?>
Mysql.class.php:封装了包括数据库连接、数据库设置默认编码、数据库查询、数据库更新的方法
1 <?php 2 //下面将要进行对mysql扩展库对mysql数据库封装的操作。 3 4 class Mysql 5 { 6 private $host; 7 private $name; 8 private $pw; 9 private $dbname;10 private $conn;11 private $res;12 public function __construct($host,$name,$pw,$dbname)13 {14 $this->host=$host;15 $this->name=$name;16 $this->pw=$pw;17 $this->dbname=$dbname;18 $this->conn=mysql_connect($this->host,$this->name,$this->pw);19 if(!$this->conn)20 {21 die("数据库连接失败!".mysql_error());22 }23 mysql_select_db($dbname);//选择数据库24 mysql_query("set names utf8");//选择默认的编码方式25 }26 public function search_dql($sql)27 {28 $this->res=mysql_query($sql,$this->conn);29 echo "<br/>";30 if(!$this->res)31 {32 die("查询失败:".mysql_error());33 }34 return $this->res;35 }36 public function update_dml($sql)37 {38 $res=mysql_query($sql,$this->conn);39 if(!$res)40 {41 die("数据库更新失败!".mysql_error());42 }43 return $res;44 45 }46 public function close_resource($res)47 {48 mysql_free_result($res);49 }50 public function close_connection($conn)51 {52 mysql_close($this->conn);53 }54 public function getresource()55 {56 return $this->res;57 }58 public function getconnection()59 {60 return $this->conn;61 }62 }63 ?>
mysql遍历表并打印表格(小数据库,行数不超过50条,以后将会讲分页技术):
1 <?php 2 $conn=mysql_connect("localhost","root","5a6f38"); 3 if(!$conn) 4 { 5 die("数据库连接失败!".mysql_error()); 6 } 7 //echo "数据库连接成功!<br/>"; 8 $flag=mysql_query("set names utf8",$conn);//设置编码方式 9 //echo $flag;10 mysql_select_db("users",$conn) or die("数据库选择失败!".mysql.error());//选择数据库11 $sql="select * from user1";12 $res=mysql_query($sql,$conn);13 //var_dump($res);14 //simpleTraverse($res);//简单遍历一下15 //simpleTraverseofhead($res)16 17 $rows=mysql_affected_rows($conn);//得到行数18 $columns=mysql_num_fields($res);//得到列数19 echo "<table border=1px>";20 echo "<tr>";21 for($i=0;$i<$columns;$i++)22 {23 echo "<th>".mysql_field_name($res,$i)."</th>";24 }25 echo "</tr>";26 27 //表头信息输出完成,即将打印主体部分。28 while($row=mysql_fetch_row($res))29 {30 echo "<tr>";31 foreach($row as $key=>$value)32 {33 echo "<td>".$value."</td>";34 }35 echo "</tr>";36 }37 echo "</table>";38 39 function simpleTraverseofhead($res)//打印表头的方法40 {41 while($temp=mysql_fetch_field($res))42 {43 echo $temp->name."<br/>";44 }45 }46 function simpleTraverse($res)//简单遍历表的方法47 {48 while($row=mysql_fetch_row($res))49 {50 foreach($row as $key=>$value)51 {52 echo $value." ";53 }54 echo "<br/>";55 }56 }57 ?>
【PHP&&MySQL详解】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。