どちらの接続クラスが同じプロジェクトの下にある:エラーコマンドSQLSTATE [HY000] [2002]
1)この最初のクラスは正常に動作し、すべてがそれとして正しく動作しますなければならない:
<?php
class DAO{
protected $servidor;
protected $base;
protected $usuario;
protected $senha;
protected $conexao;
public function __construct(){
$this->base = "ima";
$this->usuario = 'admin';
$this->senha = 'wd4567';
$this->servidor = 'localhost';
$this->abrirConexao();
$this->selecionar();
}
protected function abrirConexao(){
$this->conexao = mysqli_connect($this->servidor, $this->usuario, $this->senha);
if (!$this->conexao) {
die("Connection failed: " . mysqli_connect_error());
}
// echo "Connected successfully";
mysqli_set_charset($this->conexao, "utf8");
}
2)PDOを使用して、この第二接続クラスは、エラーを返していない:SQLSTATE [HY000] [2002]そのようなファイルまたはディレクトリ。しかし、これまで私が見ることができるように、データセットが同じである...これで助けを必要としてください:
<?php
/*
* Constantes de parâmetros para configuração da conexão
*/
define('HOST', 'localhost');
define('DBNAME', 'ima');
define('CHARSET', 'utf8');
define('USER', 'admin');
define('PASSWORD', 'wd4567');
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);
echo("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . "; ". USER ." ". PASSWORD . $opcoes);
self::$pdo = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . "; ", USER, PASSWORD, $opcoes);
} catch (PDOException $e) {
print "Erro: " . $e->getMessage();
}
}
return self::$pdo;
}
}
?>
は、THANKSをこの上の任意の助けに感謝!
この例をしてください試してみてください。 –
さらに、あなたのコードにエラーを残しておいて、あなたの答えをトピックから外しました。 –
今は大丈夫ですか? @YourCommonSenseあなたが何かを完了したときにあなたは編集を提案することができます:) –