建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > MYSQL学习 > php链接mysql

php链接mysql

时间:2015-02-25 15:15:32  来源:免费模板网 作者:风雪 阅读次数 tagsphp链接mysql

  php在一般的cms里面都已经封装好了,没有基础的人看代码就比较吃力,下面是最原始php链接mysql的方法,初学者可以看看

言归正传,对于PHP来讲,它是默认支持MYSQL的,也就是说我们不必再去手动设置ODBC来使用MYSQL了,我们所需要做的设置就是在php.ini中引入MYSQL插件.首先找到你的php.ini,编辑它,将extension = php_mysql.dll前的分号(“;”)去掉即可.这样,我们的php就可以使用MYSQL了.

接下来我们连接mysql,mysql_connect(servername:port,username,password)就是用于连接mysql的函数,其中servername:port参数就是数据库地址以及数据库端口(默认情况下port参数为3306);username即是登陆数据库所使用的用户名,password则是对应用户的密码.由于我的数据库就在本机上所以连接时我使用以下语句.

连接代码如下:

  1. $con = mysql_connect("localhost","root","");  //$con可理解为连接号 

当然我们不能让mysql一直处于连接状态,对于小型应用来说或许这不算问题,但对于大型web应用来讲这是很浪费资源的,所以用完数据库连接之后我们要关掉它.这个任务我们交给mysql_close(连接号)来完成.

开启和关闭数据库连接实例代码如下:

  1. $con = mysql_connect("loaclhost","root","");    
  2. $con = mysql_close($con);   

弄明白了如何连接和断开数据库,接下来就是在mysql中创建数据库,这听起来很拗口,因为同一台mysql服务器中可以允许多个数据库的存在.这里我们有两种方法来建立数据库,法一使用mysql_create_db()函数,但不建议大家使用这种方法.

创建数据库实例代码如下:

  1. $con = mysql_connect("localhost","root","");    
  2. mysql_create_db("guestbook",$con);    
  3. mysql_close($con);   

法二,我们直接采用mysql_query()函数来执行sql语句.Create DATABASE 就是用于创建数据库的sql语句,例如Create DATABASE test,就是创建一个名为test的数据库.

创建数据库实例代码如下:

  1. $con = mysql_connect("localhost","root","");      
  2. mysql_query("Create DATABASE guestbook",$con);      
  3. mysql_close($con);    

建完数据库,我们要向数据库中添加数据表,同样是采用mysql_query()函数来执行sql语句,但不同的是之前我们要使用mysql_select_db()函数来选择我们操作的数据库.

实例代码如下:

  1. $con = mysql_connect("localhost","root","");        
  2.  
  3. mysql_query("Create DATABASE guestbook",$con);    
  4. mysql_select_db("guestbook",$con);    
  5. mysql_query("Create TABLE users(username varchar(15),   
  6. password varchar(15))");        
  7. mysql_close($con);    
  8. /*  建表语句: Create TABLE 表明(字段名_1 字段数据类型_1,字段名_2 字段数据类型_2,......,字段名_n 字段数据类型_n)      */  

在数据库中建立好表、字段等数据数据关系之后,就差实实在在的数据了.同上,使用mysql_query()函数执行添加数据的sql语句,Insert INTO 表名 (字段名_1,字段名_2,......,字段名_n) VALUES (数据_1,数据_2,......,数据_n).

实例代码如下:

  1. $con = mysql_connect("localhost","root","");          
  2. mysql_query("Create DATABASE guestbook",$con);      
  3. mysql_select_db("guestbook",$con);      
  4. mysql_query("Create TABLE users(username varchar(15),    
  5. password varchar(15))");      
  6. mysql_query("Insert INTO users (username,password) VALUES ('Ku_Andrew','123456')");        
  7. mysql_close($con);    

现在,我们的数据库中已经有了数据,接下来我们使用select语句来进去查询.

实例代码如下:

  1. $con = mysql_connect("localhost","root","");          
  2. mysql_query("Create DATABASE guestbook",$con);      
  3. mysql_select_db("guestbook",$con);      
  4. mysql_query("Create TABLE users(username varchar(15),    
  5. password varchar(15))");     
  6. $select = mysql_query("select * from users");    
  7. while ($row = mysql_fetch_array($select);)    
  8. {    
  9.     echo $row['username'];    
  10.     echo $row['password'];    
  11. }    
  12. mysql_close($con);  

这样,通过while循环我们就可以把users表中所有的数据全部查询出来,上面这样做不好重复利了,下面我们可以做成数据库连接类.

实例代码如下:

  1.  
  2. //------------------------------------------------------------------------------------------  
  3. // ※Database()                   构造函数,数据库初始参数  
  4. // ※Select()                     查询 
  5. // ※GetRows()                    返回查询的记录总数 
  6. // ※Insert()                     插入记录 
  7. // ※Update()                     更新 
  8. // ※Delete()                     删除 
  9. // ※Halt()                       中断并显示错误信息 111Cn.Net */ 
  10. //------------------------------------------------------------------------------------------  
  11. define("DATABASETYPE""1");       //定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc 
  12. define("SERVER""localhost");     //Host name or IP address of the database server 
  13. define("DATABASE""dbName");   //要连接的数据库名 
  14. define("USER""tableName");     //用于连接数据库的用户名 
  15. define("PASSWORD""paswd");    //用于连接数据库的密码  
  16. class Database { 
  17.     var $dbLink;                      //连接句柄  
  18.     var $result;                      //查询句柄  
  19.     var $insId;                       //Insert()成功返回AUTO_INCREMENT列的值 
  20.     var $rows;                        //返回数据数组 
  21.     var $numRows;                     //返回数据数目 
  22.     var $dbHost$dbUser$userPassword$database
  23.     var $dbType = DATABASETYPE; 
  24.     var $msgFlag = "yes";            //yes:show the Mysql message ; no: die by show "Halted." 
  25.     function Database($dbHost = SERVER, $dbUser = USER, $userPassword = PASSWORD, $database = DATABASE) { 
  26.         switch ($this->dbType) { 
  27.             case 1: 
  28.                 $this->dbLink = @mysql_pconnect($dbHost$dbUser$userPassword); // or die("Can't Connect to Remote Host!"); 
  29.                 @mysql_select_db($database$this->dbLink); // or die ("Can't Connect to Remote Host!"); 
  30.                 break
  31.             case 2: 
  32.                 break
  33.         } 
  34.         return true; 
  35.     } 
  36.     /* SQL:Select() 返回为false无结果 */ 
  37.     function Select($table$columns$condition = 1) { 
  38.         $sql = "select $columns from $table where $condition "
  39.         $this->result = @mysql_query($sql$this->dbLink); 
  40.         unset($this->rows); 
  41.         if ($this->result) { 
  42.             $i = 0; 
  43.             if (!($this->rows = array("$i" => @mysql_fetch_array($this->result)))) 
  44.                 return false; 
  45.             if (($this->numRows = @mysql_num_rows($this->result)) == 0) 
  46.                 return false; 
  47.             while ($tempRows = @mysql_fetch_array($this->result)) { 
  48.                 array_push($this->rows, $tempRows); 
  49.             } 
  50.         } else { 
  51.             $this->Halt($sql); 
  52.             return false; 
  53.         } 
  54.         return true; 
  55.     } 
  56.     /* SQL:GetRows() 返回查询的记录总数 */ 
  57.     function GetRows($table$condition = 1) { 
  58.         $sql = "select count(1) as count from $table where $condition"
  59.         $this->result = @mysql_query($sql$this->dbLink); 
  60.         if ($this->result) { 
  61.             $temp = @mysql_fetch_array($this->result); 
  62.             $this->numRows = $temp[count]; 
  63.         } else { 
  64.             $this->Halt($sql); 
  65.             return false; 
  66.         } 
  67.         return $this->numRows; 
  68.     } 
  69.     /* SQL:Insert() */ 
  70.     function Insert($table$columns$values) { 
  71.         $sql = "insert into $table ($columns) values ($values)"
  72.         $this->result = @mysql_query($sql$this->dbLink); 
  73.         if ($this->result) 
  74.             $this->insId = @mysql_insert_id($this->dbLink); 
  75.         else { 
  76.             $this->Halt($sql); 
  77.             return false; 
  78.         } 
  79.         return true; 
  80.     } 
  81.     /* SQL:Update() */ 
  82.     function Update($table$setings$condition) { 
  83.         $sql = "update $table set $setings where $condition"
  84.         $this->result = @mysql_query($sql$this->dbLink); 
  85.         if ($this->result) 
  86.             $this->numRows = @mysql_affected_rows($this->result); 
  87.         else { 
  88.             $this->Halt($sql); 
  89.             return false; 
  90.         } 
  91.         return true; 
  92.     } 
  93.     /* SQL:Delete */ 
  94.     function Delete($table$condition) { 
  95.         $sql = "delete from $table where $condition"
  96.         $this->result = @mysql_query($sql$this->dbLink); 
  97.         if ($this->result) 
  98.             $this->numRows = @mysql_affected_rows($this->result); 
  99.         else { 
  100.             $this->Halt($sql); 
  101.             return false; 
  102.         } 
  103.         return true; 
  104.     } 
  105.     /* Halt():error message */ 
  106.     function Halt($msg) { 
  107.         if ($this->msgFlag == "yes") { 
  108.             printf("Database Query Error: %s
    n"
    $msg); 
  109.             printf("MySql Error: %s
    n"
    , mysql_error()); 
  110.         }else 
  111.             echo ""//自定一个出错提示文件 
  112.         return false; 
  113.     } 
  114. switch ($db->dbType) { 
  115.     case 1: 
  116.         @mysql_close(); 
  117.         break
  118.     case 2: 
  119.         break
  120. $db = new Database(); 
  121. ?> 
  122.  

本文地址:https://www.freemoban.com/mysql/2015/0225/691.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!