Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, A uns dois dias estou enfrentando um problema que até agora não consegui resolver. Criei uma classe para operações CRUD com PDO, porém ao criar a primeira função para inserir dados, me ocorreu o seguinte erro: Fatal error: Call to a member function prepare() on null in [/size]C:\xampp\htdocs\server\development\camilo\engine\secure\functions\sqlData.php on line [/size]31 A linha 31: $stmt = $this->pdo->prepare($sql). Segue o código completo.**Classe para conexão ao Banco: (sgt_SQLManager_con.php)
<?php /* * Constantes de parâmetros para configuração da conexão */ define('HOST', 'localhost'). define('DBNAME', 'sgt_global'). define('CHARSET', 'utf8'). define('USER', 'root'). define('PASSWORD', ''). class Conexao { /* * Atributo estático para instância do PDO */ private static $pdo. /* * Escondendo o construtor da classe */ private function __construct() { // } /* * Método estático para retornar uma conexão válida * Verifica se já existe uma instância da conexão, caso não, configura uma nova conexão */ public static function getInstance() { if (!isset(self::$pdo)) { try { $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE). self::$pdo = new PDO("mysql:host=". HOST. ". dbname=". DBNAME. ". charset=". CHARSET. ". ", USER, PASSWORD, $opcoes). self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION). } catch (PDOException $e) { print "Erro: ". $e->getMessage(). } } return self::$pdo. } } private $pdo = null. private static $cadInitial = null. private function _construct($conexao) { $this->pdo = $conexao. } public static function getInstance($conexao) { if(!isset(self::$cadInitial)): self::$cadInitial = new cadInitial($conexao). endif. return self::$cadInitial. } public function usuario($user, $mail, $pass, $userlevel, $empresaid, $userstatus, $empresastatus) { if(!empty($user) and!empty($mail) and!empty($pass) and!empty($userlevel) and!empty($empresaid) and!empty($userstatus) and!empty($empresastatus)) { try { $sql = "INSERT INTO glob.users(User, Mail, Pass, UserLeve, EmpresaID, UserStatus, EmpresaStatus) VALUES (?,?,?,?,?,?,?)". $stmt = $this->pdo->prepare($sql). $stmt->bindValue(1, $user). $stmt->bindValue(2, $mail). $stmt->bindValue(3, $pass). $stmt->bindValue(4, $userlevel). $stmt->bindValue(5, $empresaid). $stmt->bindValue(6, $userstatus). $stmt->bindValue(7, $empresastatus). $stmt->execute(). echo "<script>alert('Registro inserido com sucesso')</script>". } catch(PDOException $e) { echo "<script>alert('Erro na linha: {$erro->getLine()}')</script>". } } } }?><?php require_once ('sgt_SQLManager_con.php'). require_once ('sqlData.php'). $glob = cadInitial::getInstance(Conexao::getInstance()). $user = 'Lucas Cardial'. $mail = 'lucasvinicius@gmail.com'. $pass = '123'. $userlevel = '1'. $empresaid = '03'. $userstatus = '01'. $empresastatus = '02'. echo $glob->usuario($user, $mail, $pass, $userlevel, $empresaid, $userstatus, $empresastatus).?>Carregando comentários...