求问小弟我自己写的这个DB类,错哪了,插不进数据
程序员文章站
2022-06-15 18:28:31
...
求问我自己写的这个DB类,哪里错了,插不进数据
主页调用的是
echo $sql语句是INSERT INTO 1234 (aa,bb) VALUES (`aa`,`dd`)
------解决方案--------------------
require('DB.class.php');
$DB = new DB('localhost','root','','dbtest');
$line1 = array(
'aa'=> "'aa'",
'bb'=> "'dd'"
);
$DB->insert('1234',$line1);
------解决方案--------------------
你的$line1数组写反了。
而且insert 语句还有一种格式:insert into tb_member set username = "test", type = 1, lastlogindt = now()。跟update样式差不多。
你也可以看看人家写的数据库类,我感觉挺好的:http://www.cnblogs.com/hooray/archive/2012/07/21/2603017.html
class DB{
private $hostname;
private $username;
private $password;
private $select_db;
private $con;
private $Error;
public function __construct($hostname,$username,$password,$select_db){
if(!empty($hostname)&&!empty($username)&&!empty($select_db))//检查参数是否为空,否则不赋值
{
$this->hostname = $hostname;
$this->username = $username;
$this->password = $password;
$this->select_db = $select_db;
$this->con = mysql_connect($this->hostname,$this->username,$this->password);
if(!$this->con){
$this->Error = die('Could Not Connect:'.mysql_error);
}
else{
mysql_select_db($this->select_db,$this->con);
}
}
}
public function __destruct(){//退出时结束连接
mysql_close($this->con);
}
public function insert($table,$body){//插入table中的一个数组
$line1 = implode(',',$body);
$line2 = implode(',',array_keys($body));
echo $sql = "INSERT INTO $table ($line2) VALUES ($line1)";
$result = mysql_query($sql,$this->con);
if(!$result){
echo $this->Error;
echo '111';
}
}
public function update($table,$body){
}
public function read($table,$keyword){
}
public function delete($table,$keyword){
}
public function getLastError(){//返回最后一条错误信息
return $this->Error;
}
}
?>
主页调用的是
require('DB.class.php');
$DB = new DB('localhost','root','','dbtest');
$line1 = array(
'aa'=>'`aa`',
'bb'=>'`dd`'
);
$DB->insert('1234',$line1);
?>
echo $sql语句是INSERT INTO 1234 (aa,bb) VALUES (`aa`,`dd`)
------解决方案--------------------
require('DB.class.php');
$DB = new DB('localhost','root','','dbtest');
$line1 = array(
'aa'=> "'aa'",
'bb'=> "'dd'"
);
$DB->insert('1234',$line1);
------解决方案--------------------
你的$line1数组写反了。
而且insert 语句还有一种格式:insert into tb_member set username = "test", type = 1, lastlogindt = now()。跟update样式差不多。
你也可以看看人家写的数据库类,我感觉挺好的:http://www.cnblogs.com/hooray/archive/2012/07/21/2603017.html
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论