国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP中使用匿名函數(shù)操作數(shù)據(jù)庫的例子

2020-03-22 18:36:26
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:
Base dao html' target='_blank'>class illustrating the usefulness of closures.
* Handles opening and closing of connections.
* Adds slashes sql
* Type checking of sql parameters and casts as appropriate
* Provides hook for processing of result set and emitting one or more objects.
* Provides hook for accessing underlying link and result objects. phpdefine("userName","root");
define("password","root");
define("dbName","ahcdb");
define("hostName","localhost");class BaseDao { function getConnection() {
$link = mysql_connect(hostName, userName, password);
if (!$link)
die("Could not connect: " . mysql_error());
if (!mysql_select_db(dbName))
die("Could not select database: " . mysql_error());
return $link;
}

function setParams(& $sql, $params) {
if($params != null)
$sql = vsprintf($sql, array_map(function($n) {
if(is_int($n))
return (int)$n;
if(is_float($n))
return (float)$n;
if(is_string($n))
return "'".mysql_real_escape_string($n)."'";
return mysql_real_escape_string($n);
}, $params));
} function executeQuery($sql, $params, $callback = null) {
$link = $this- getConnection();
$this- setParams($sql, $params);
$return = null;
if(($result = mysql_query($sql, $link)) != null)
if($callback != null)
$return = $callback($result, $link);
if($link != null)
mysql_close($link);
if(!$result)
die("Fatal Error: Invalid query '$sql' : " . mysql_error());
return $return;
}

function getList($sql, $params, $callback) {
return $this- executeQuery($sql, $params, function($result, $link) use ($callback) {
$idx = 0;
$list = array();
while ($row = mysql_fetch_assoc($result))
if($callback != null)
$list[$idx] = $callback($idx++, $row);
return $list;
});
}

function getSingle($sql, $params, $callback) {
return $this- executeQuery($sql, $params, function($result, $link) use ($callback) {
if ($row = mysql_fetch_assoc($result))
$obj = $callback($row);
return $obj;
});
}
}class Example {
var $id;
var $name;

function Example($id, $name){
$this- id = $id;
$this- name = $name;
}

function setId($id){
$this- id = $id;
}
}class ExampleDao extends BaseDao {


function getAll(){
return parent::getList("select * from nodes", null, function($idx, $row) {
return new Example($row["id"], $row["name"]);
});
}

function load($id){
return parent::getSingle("select * from nodes where id = %1/$s", array($id), function($row) {
return new Example($row["id"], $row["name"]);
});
}

function update($example){
return parent::executeQuery("update nodes set name = '' where id = -1", null, function($result, $link){
return $result;
});
}

function insert(& $example){
return parent::executeQuery("insert into nodes", null, function($result, $link) use ($example){
$id = mysql_insert_id($link);
$example- setId($id);
return $result;
});
}
}$exampleDao = new ExampleDao();$list = $exampleDao- getAll());$exampleObject = $exampleDao- load(1));$exampleDao- update($exampleObject);
PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 瓮安县| 平果县| 大石桥市| 蓝山县| 合作市| 仲巴县| 油尖旺区| 包头市| 沁阳市| 泸定县| 延庆县| 北票市| 东城区| 四川省| 高安市| 忻州市| 常宁市| 开封市| 镇雄县| 四会市| 芜湖县| 靖宇县| 云安县| 黑山县| 息烽县| 新干县| 宜川县| 葫芦岛市| 马尔康县| 平顺县| 永定县| 乐昌市| 彰化市| 宁夏| 南阳市| 益阳市| 旅游| 利辛县| 新和县| 日照市| 洪江市|