上面那个写错的了。这个
<?php
/*
class name : SQLBuilder
使用方法:
$record = array();
$record['username'] = "'xxxx'";
$record['password'] = "'xxxx'";
$sqlbuilder = new SQLBuilder();
$sql = $sqlbuilder->getInsertSQL('users',$record);
或:
$sql = $sqlbuilder->getUpdateSQL('users',$record,'userid = 1');
$db->Execute($sql);
*/class SQLBuilder { function getUpdateSQL($table, $fields, $where) {
$sql1 = '';
$sql = '';
$k = '';
$v = '';
if (count($fields) == 0) {
return $sql;
} foreach($fileds as $k => $v) {
$sql1 .= ",$k = $v";
}
if(strlen($sql1) > 0) {
$sql1 = substr($sql1,1);
if (!empty($where)) {
$sql ="update $table set $sql1 ";
}
else {
$sql = "update $table set $sql1 where $where";
}
} return $sql;
}
//**
function getInsertSQL($table, $fields) {
$sql1 = '';
$sql = '';
$fs = '';
$vs = '';
$k = '';
$v = '';
if (count($fileds) == 0) {
return $sql;
}
foreach($fields as $k => $v) {
$fs .= ",$k";
$vs .= ",$v";
}
if (strlen($fs) > 0) {
$fs = substr($fs,1);
$vs = substr($vs,1);
$sql = "Insert into $table ($fs) values($vs)";
}
return $sql;
}}?>
<?php
/*
class name : SQLBuilder
使用方法:
$record = array();
$record['username'] = "'xxxx'";
$record['password'] = "'xxxx'";
$sqlbuilder = new SQLBuilder();
$sql = $sqlbuilder->getInsertSQL('users',$record);
或:
$sql = $sqlbuilder->getUpdateSQL('users',$record,'userid = 1');
$db->Execute($sql);
*/class SQLBuilder { function getUpdateSQL($table, $fields, $where) {
$sql1 = '';
$sql = '';
$k = '';
$v = '';
if (count($fields) == 0) {
return $sql;
} foreach($fileds as $k => $v) {
$sql1 .= ",$k = $v";
}
if(strlen($sql1) > 0) {
$sql1 = substr($sql1,1);
if (!empty($where)) {
$sql ="update $table set $sql1 ";
}
else {
$sql = "update $table set $sql1 where $where";
}
} return $sql;
}
//**
function getInsertSQL($table, $fields) {
$sql1 = '';
$sql = '';
$fs = '';
$vs = '';
$k = '';
$v = '';
if (count($fileds) == 0) {
return $sql;
}
foreach($fields as $k => $v) {
$fs .= ",$k";
$vs .= ",$v";
}
if (strlen($fs) > 0) {
$fs = substr($fs,1);
$vs = substr($vs,1);
$sql = "Insert into $table ($fs) values($vs)";
}
return $sql;
}}?>
解决方案 »
- 关于php上传文件的问题,大神赏赏眼看看错在哪!!!
- php 如何判断文件是否被锁
- php如何创建实体?
- 有人对ECShop有研究吗?我有个初级问题,关于上传图片的
- 查询sqlserver的出现的问题:不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数
- 请教一个PHP连接MYSQL时出现的连接问题??请高手帮忙啊!
- smarty 的section 问题 在线等
- 怎样用sql 语积句取出最后入库的记录?
- 谁有 php代码?
- php单点登录方案如何实现。
- 表单中用到单选按钮组,php语言怎么获取他的值啊
- 关于SSL的问题
----------------
用途是这样的。如果我用表单提交了一大堆的数据,需要加入到数据库中。那我就要手动构造一个很长的 sql . 而往往这类更新数据库的单元又是有增加与更新两种功能与一体的。所以程序看起来就很复杂。不够简捷。
所以我就写了这个类:SQLBuilder用法:
如要插入数据到users 表我就这样写
$record = array();
$record['username'] = "'user 1'";
$record['password'] = "'password'";
$sqlbuilder = new SQLBuilder();
$sql = $sqlbuilder.getInsertSQL('users',$record);这样就可以得到 $sql = 'Insert into users (username,password) values('user 1','password')';
这是我用 ADODB 里得到的。
ADODB 功能更好些。只是后来我用了 ADODB_lite 。这个速度快。但没有 GetInsertSQL 与 GetUpdateSQL 了。所以我只有自己写了一个 SQLBuilder。