getColumns($this->tableName); } public function getColumns($tableName) { $db = static::getDB(); $sql = "show columns from ".$tableName; $stmt = $db->query($sql); $res = $stmt->fetchAll(); if(static::getDB()!=null){ try{ foreach ($res as $key => $value){ array_push($this->columns,$value[0]); array_push($this->columnsType,$value[1]); } }catch (\PDOException $e){ echo $e->getMessage(); } } } /** * Get the PDO database connection * * @return mixed */ protected static function getDB() { $ssl = array( PDO::MYSQL_ATTR_SSL_KEY =>'D:\\data\\腾讯云测试服mysql证书\\client-key.pem', PDO::MYSQL_ATTR_SSL_CERT=>'D:\\data\\腾讯云测试服mysql证书\\client-cert.pem', PDO::MYSQL_ATTR_SSL_CA =>'D:\\data\\腾讯云测试服mysql证书\\ca.pem', PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, ); static $db = null; if ($db === null) { $dsn = 'mysql:host=' . Config::DB_HOST . ';dbname=' . Config::DB_NAME . ';charset=utf8'; try { $db = new PDO($dsn, Config::DB_USER, Config::DB_PASSWORD, $ssl); //$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(PDOException $e) { echo $e->getMessage(); die; } // Throw an Exception when an error occurs $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } return $db; } public function InsertObject($obj){ $db = static::getDB(); $query = "insert into ".$this->tableName."("; $val = ""; $i = 0; foreach ($obj as $Key => $value){ // 如果key里面有包含在columns里面 if(in_array($Key,$this->columns)){ $query = $query.$Key.","; $keyIndex = array_search($Key,$this->columns); //print_r($this->columnsType[$keyIndex]." "); if((strstr($this->columnsType[$keyIndex],"int(")) != false){ if(is_integer($value)) $val = $val.$value.","; else $val = $val."0".","; }else{ $val = $val."'".$value."',"; } } $i++; } $val = rtrim($val,","); $query = rtrim($query,","); $val = $val.");"; $query = $query.") values("; $query = $query.$val; $stmt = $db->query($query); var_dump($stmt); print_r($stmt->errorInfo()); //$res = $stmt->fetch(); //$result = $stmt->fetchAll(); //return $res; } }