php mysql crud demo_基于php和mysql的简单的dao类实现crud操作功能_PHP教程

代码如下:

public function SimpleDao() {

if ($this->_con == null) {

$this->_con = @mysql_connect("localhost", "root", "123456");

if ($this->_con == FALSE) {

echo("connect to db server failed.");

$this->_con = null;

return;

}

//$firephp->log("new DAO object");

@mysql_select_db("swan", $this->_con);

}

}

public function table($tablename) {

$this->_table = $tablename;

return $this;

}

public function query($sql) {

$result = @mysql_query($sql);

$ret = [];

if ($result) {

while ($row = mysql_fetch_array($result)) {

$ret[] = $row;

}

}

return $ret;

}

public function get($where = null) {

$sql = "select * from ".$this->_table;

$sql = $sql.$this->_getWhereString($where);

//echo "[get]".$sql."

";

return $this->query($sql);

}

public function insert($params) {

if ($params == null || !is_array($params)) {

return -1;

}

$keys = $this->_getParamKeyString($params);

$vals = $this->_getParamValString($params);

$sql = "insert into ".$this->_table."(".$keys.") values(".$vals.")";

//echo "[insert]".$sql."

";

$result = @mysql_query($sql);

if (! $result) {

return -1;

}

return @mysql_insert_id();

}

public function update($params, $where = null) {

if ($params == null || !is_array($params)) {

return -1;

}

$upvals = $this->_getUpdateString($params);

$wheres = $this->_getWhereString($where);

$sql = "update ".$this->_table." set ".$upvals." ".$wheres;

//echo "[update]".$sql."

";

$result = @mysql_query($sql);

if (! $result) {

return -1;

}

return @mysql_affected_rows();

}

public function delete($where) {

$wheres = $this->_getWhereString($where);

$sql = "delete from ".$this->_table.$wheres;

//echo "[delete]".$sql."

";

$result = @mysql_query($sql);

if (! $result) {

return -1;

}

return @mysql_affected_rows();

}

protected function _getParamKeyString($params) {

$keys = array_keys($params);

return implode(",", $keys);

}

protected function _getParamValString($params) {

$vals = array_values($params);

return "'".implode("','", $vals)."'";

}

private function _getUpdateString($params) {

//echo "_getUpdateString";

$sql = "";

if (is_array($params)) {

$sql = $this->_getKeyValString($params, ",");

}

return $sql;

}

private function _getWhereString($params) {

//echo "_getWhereString";

$sql = "";

if (is_array($params)) {

$sql = " where ";

$where = $this->_getKeyValString($params, " and ");

$sql = $sql.$where;

}

return $sql;

}

private function _getKeyValString($params, $split) {

$str = "";

if (is_array($params)) {

$paramArr = array();

foreach($params as $key=>$val) {

$valstr = $val;

if (is_string($val)) {

$valstr = "'".$val."'";

}

$paramArr[] = $key."=".$valstr;

}

$str = $str.implode($split, $paramArr);

}

return $str;

}

public function release() {

@mysql_close();

}

}

function T($table) {

return (new SimpleDao())->table($table);

}

?>

http://www.bkjia.com/PHPjc/728110.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/728110.htmlTechArticle代码如下:?php //require_once('FirePHPCore/FirePHP.class.php'); //$firephp = FirePHP::getInstance(true); // debugger in firefox class SimpleDao { private $_table =...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

di容器_DI容器是代码污染者

di容器尽管依赖项注入 (aka,“ DI”)是一种在OOP中组成对象的自然技术(在Martin Fowler引入该术语之前就已知道),但Spring IoC , Google Guice , Java EE6 CDI , Dagger和…

C/C++高级算法之绘制曼德布洛特集

今晚课题【长按识别图中二维码】

python mysql 连接6_寒假学习进度-6(Python连接MySQL数据库)

Python连接mysql和操作软件:pycharm开始在pycharm下面的Terminal中安装mysql时提醒pip版本不够,所以需要先升级一下pippython -m pip install --upgrade pip升级完pip之后就可以下载mysqlpip install mysql下载完成后在setting中查看进行代码测试#!/usr/…

intellij 快捷键_IntelliJ中的键盘快捷键

intellij 快捷键我上周参加了Hadi Hariri在JavaOne上的演讲。 他介绍了很多我不知道的IntelliJ键盘快捷键。 非常有用的谈话。 我在下面列出了一些最有用的。 Cmd-1:将焦点移到“项目”窗口 在此输入任何类名(包括使用Camel Case,例如HW来查…

C/C++中*和的用法详解

C中&和*的用法一直是非常让人头疼的难点,课本博客上讲这些知识点一般都是分开讲其用法的,没有详细的总结,导致我在这方面的知识结构格外混乱,在网上找到了一篇英文文章简单总结了这两个符号的一些用法,都是一些比较…

java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...

java基础(2)--运算符详解自增自减规则自增自减就是常用的 a a 或者 a a;前者是后缀式,先把a赋值给a,再加一;后者是后缀式,先加一,在赋值给a;而且a,a并不是原子操作,在当线程环境下并不会出错,当放在多线程…

jsf 单元测试_构建和测试JSF.next

jsf 单元测试JSF 2.3专家组正在努力确定哪些功能将成为即将发布的版本的一部分。 JSF团队一直在努力改善CDI的一致性。 JSF 2.3代码库中已经有许多新功能可以开始测试。 我将尝试使本文保持最新状态,并添加最新功能。 有关最新参考,请参阅Manfred的博客。…

C++ 异常的详细介绍

C 异常的详解程序有时会遇到运行阶段错误,导致程序无法正常执行下去。c异常为处理这种情况提供了一种功能强大的而灵活的工具。异常是相对比较新的C功能,有些老编译器可能没有实现。另外,有些编译器默认关闭这种特性,我们可能需要…

php中的fpm_PHP中的FPM是做什么的

FPM是FastCGI Process Manager的缩写,由全称我们可以知道其和FastCGI有关,就是一个FastCGI的进程管理器。对于FastCGI我们可以理解成一个协议,儿FPM是其在PHP中的一个实现。FPM的出现实现了PHP应用的分布式部署,这样使得PHP和web服…

neo4j cypher_Neo4j:Cypher –避免热切

neo4j cypher当心渴望的管道 尽管我喜欢Cypher的LOAD CSV命令使它容易地将数据获取到Neo4j中的方法,但它目前打破了最不惊奇的规则,因为它急切地在所有行中加载某些查询,即使是那些使用定期提交的查询。 这是我的同事Michael在他的第二篇博…

C++实现简单走迷宫的代码

用n*n个小方格代表迷宫,每个方格上有一个字符0或1,0代表这个格子不能走,1代表这个格子可以走。只能一个格子一个走,而且只能从一个格子向它的上、下、左、右四个方向走,且不能重复。迷宫的入口和出口分别位于左上角和右…

php实现文本替换,php文本替换 函数 strtr()、str_repalce()

php 中替换函数主要有strtr(),str_repalce()这两个函数,但你们都知道他们这两个函数的区别和用法吗?IT我领先在这里给大家一个实例来说明这一问题.先来看看这个php字符串替换函数 strtr()的两种用法:strtr(string,from,to)或者strtr(string,array)首先针对strtr函数第一种方式…

lucene使用3.0.3_Apache Lucene 5.0.0即将发布!

lucene使用3.0.3终于,在一系列强大的4.x功能(最近是4.10.2)发布之后,我们终于在努力开发另一个主要的Apache Lucene版本! 没有确切时间的承诺(完成时就完成了!),但是我们…

利用C/C++实现较完整贪吃蛇游戏

利用空余时间写出了这么一个简单的小游戏,直接使用dos界面运行。那么问题来了,如何让一个字符在dos界面上自由移动???对于这个问题我采用的解决方案是实现gotoxy函数来控制指针位置从而实现字符的移动。那么我们就先来…

php跳转到另外一个方法,PHP 页面跳转到另一个页面的多种方法方法总结

PHP 页面跳转到另一个页面的多种方法方法总结一用 HTTP 头信息也就是用 PHP 的 HEADER 函数 PHP 里的 HEADER 函数的作用就是向浏览器发出由 HTTP 协议规定的本来应该通过 web 服务器的控制指令, 例如声明返回信息的类型 ("Context-type: xxx/xxx"), 页面的属性(&quo…

java 泛型和类型擦除_关于Java泛型和擦除

java 泛型和类型擦除“编译期间擦除泛型”是常识&#xff08;好吧&#xff0c;类型参数和实参实际上是被擦除的&#xff09;。 这是由于“类型擦除”而发生的。 但这是错误的&#xff0c;正如许多开发人员所假设的那样&#xff0c;将<..>符号内指定的所有内容都删除了。 …

PHP中文无法查询,php 中htmlentities导致中文无法查询问题

在php中htmlspecialchars&#xff0c; 将特殊字元转成 HTML 格式,而htmlentities&#xff0c;将所有的字元都转成 HTML 字串 了&#xff0c;下面我来分别简单的介绍。htmlentities用法$str "John & Adams";echo htmlentities($str, ENT_COMPAT);echo "&quo…

C++中的函数汇总(新手必知)!

math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有&#xff1a;1 三角函数double sin (double); double cos (double); double tan (double);2 反三角函数double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double …

艾伦图灵_Java英雄:丹·艾伦

艾伦图灵“ Java英雄 ”系列休息了很长时间。 老实说&#xff0c;我想即使有很多人我想把它包括在这里&#xff0c;它也可能会在茫茫荒野中终结。 丹是其中之一。 我第一次要求他捐款已经差不多一年半了&#xff0c;并且在此期间发生的所有事情使我安然无not。 但是以下内容在J…

26条C++的经典语录,哪几句戳中你的心!

2019年悄悄的已经过了三分之二&#xff0c;C你了解了多少&#xff1f;随着互联网的发展&#xff0c;c作为底层语言的龙头老大&#xff0c;是时候站出来了&#xff01;如何学好C,老夫我利用平生所学&#xff0c;整理出26条C经典语录&#xff0c;希望能帮助到每一个热爱C的同学&a…