【发布时间】:2015-04-01 10:49:49
【问题描述】:
这里我有一个名为 DB 的类,它用于准备一个 pdo 语句,然后对 PDO 对象执行select、insert 等。这里我试图 insert 一些从 html 表单收集的数据。但是当我执行代码它给了我我在问题中提到的错误。 getInstance() 和 insert() 都是公共静态函数。谁能帮我解决这个问题?
class DB{
private static $_instance=null;
private $pdo,
$query,
$error=false,
$results,
$count=0;
private function __construct(){
try{
$this->pdo=new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'),Config::get('mysql/user'),Config::get('mysql/password'));
}catch(PDOException $e){
echo $e->getMessage();
}
}
public static function getInstance(){
if(!isset(self::$_instance)){
self::$_instance=new DB();
}
return self::$_instance;
}
private function bind($val){
$i=1;
foreach($val as $data){
$this->query->bindValue($i,$data);
}
$i++;
}
public static function insert(){
$stmt='INSERT INTO users (username,password,name) VALUES (?,?,?)';
if($this->query=$this->pdo->prepare($stmt)){
$val=Validate::send();
$this->bind($val);
if($this->query->execute()){
return 'successfull';
}
}
}
}
我像这样调用它们:
if(isset($_POST['submit'])){
$insert=DB::getInstance();
$insert::insert();
}
【问题讨论】:
-
只要在您熟悉的搜索框中输入您的问题,您就可以节省很多时间:stackoverflow.com/questions/2350937/…