PHP物件導向與面向過程例項

2021-06-26 07:49:02 字數 4109 閱讀 5499

資料庫使用mysql資料庫,分別實現面向過程、物件導向與資料庫互動的例項:

/*   test.sql

物件導向例項資料庫test

*/create database `test` default character set utf8 collate utf8_general_ci;

use test;

/*使用者表*/

create table `e_user` (

id int auto_increment primary key,

username char(10) not null,

userpsw char(10) not null,

userage int not null,

usergrade int not null

)engine=innodb charset=utf8;

/*向 user表插入資料*/

insert into `e_user`(`username`, `userpsw`, `userage`, `usergrade`) values ('tom','123456',23,4);

insert into `e_user`(`username`, `userpsw`, `userage`, `usergrade`) values ('jack','654321',22,2);

insert into `e_user`(`username`, `userpsw`, `userage`, `usergrade`) values ('tony','111111',20,1);

//end     test.sql

//資料庫配置檔案:db_config.php

<?php

header("content-type: text/html; charset=utf-8");//設定瀏覽器顯示格式

/* 資料庫配置檔案,db_config.php

* to change this license header, choose license headers in project properties.

* to change this template file, choose tools | templates

* and open the template in the editor.

*/$db_server = "localhost";

$db_user = "root";

$db_pwd = "123456";

$db_name = "test";

?>

//面向過程的方式與資料庫互動:viewuser_mysql.php

<?php

header("content-type: text/html; charset=utf-8");//設定瀏覽器顯示格式

/* viewuser_mysql.php

* * 面向過程的方式來讀取資料庫中的使用者資訊.

* 1.讀取配置檔案中的資料庫引數.

* 2.建立資料庫連線.

* 3.選擇選擇資料庫.

* 4.執行sql語句.

* 5.將資料返回給陣列.

* 6.將每個資料內容取出.

* 7.將資訊顯示.

*/require_once ("db_config.php");//包含配置檔案.

$sql = "select * from `e_user` where username='jack'";

$conn = @mysql_connect($db_server, "root", "123456");//建立mysql連線

$my_db = mysql_select_db($db_name,$conn);//選擇資料庫

$result = mysql_query($sql, $conn);//執行查詢語句

$userinfo = mysql_fetch_array($result);//返回查詢結果到陣列

mysql_close($conn);//關閉資料庫連線

$username = $userinfo["username"];//將資料從陣列取出

$userpsw = $userinfo["userpsw"];

$userage = $userinfo["userage"];

$usergrade = $userinfo["usergrade"];

echo "your name is ".$username."

";echo "your pass word is ".$userpsw."

";echo "your age is ".$userage."

";echo "your grade is ".$usergrade."

";?>

//物件導向與資料庫互動:class_user.php

<?php

//class_user.php

header("content-type: text/html; charset=utf-8");//設定瀏覽器顯示格式

/* * 物件導向的取資料庫資訊的內容

* * 顯示使用者tom的資訊需要幾步?

* 1.建立tom出來

* 2.讓這個tom告訴我們關於他的資訊內容

* 3.顯示這些資訊.

*/class userinfo

//獲取資訊傳遞給屬性的方法

private function getinfo()

//返回每個屬性的public  方法

public function getusername()

public function getuserpsw()

public function getuserage()

public function getusergrade()

}?>

//呼叫 userinfo類:viewuser.php

<?php

/* * to change this license header, choose license headers in project properties.

* to change this template file, choose tools | templates

* and open the template in the editor.

*/header("content-type: text/html; charset=utf-8");//設定瀏覽器顯示格式

require_once ("class_user.php");

//include_once 'class_user.php';

$user = new userinfo("tom");//建立乙個user物件.

$username = $user->getusername();//分別呼叫方法取得資料

$userpsw = $user->getuserpsw();

$userage = $user->getuserage();

$usergrade = $user->getusergrade();

echo "your name is $username

";//輸出資料

echo "your pass word is $userpsw

";echo "your age is $userage

";echo "your grade is $usergrade

";***************以下為總結*******************

1、notice:undefined  index:uergrade in

變數不存在,檢查是否拼寫錯誤

2、warning:mysql_fetch_array() expects parameter 1 to be resource, object given in

當使用$sqli= new mysqli($db_host,$db_user,$db_pwd,$db_name)連線資料庫時,執行查詢$result=$mysqli->query($result)後返回的是乙個物件,返回結果時就只能按照

物件的方式返回:$this->userinfo = $result->fetch_array()  ,而不能用mysql函式:$this->userinfo = mysql_fetch_array($result)

物件導向過程與物件導向

物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...

物件導向與面向過程

分析出解決問題所需要的步驟,然後用函式把步驟分解開,使用時再呼叫這些函式。面向過程強調流程化 線性化 步驟化的思考方式 把構成問題事務分解成各個物件,描述各個事務在問題中的行為。強調整體性和差異性。具有抽象 封裝,繼承,多型 面向過程效率高 流程明確,具體步驟清楚 但耗費精力,重用率低 擴充套件能力...

物件導向與面向過程

一 面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。二 物件導向程式設計 物件導向程式設計是將事物物件化,通過物件通訊來解決問題。物件導向程式設計,資料和對資料的操作是繫結在一起...