私はmysqlクラスを書こうとしています...
enter code here
class ASQL
{
public $baglanti;
public function __construct()
{
$host = "localhost";
$user = "root";
$password = "";
$db = "mydb";
$this->baglanti = new mysqli($host, $user, $password)
or die('Could not connect to the database server' . mysqli_connect_error());
$this->baglanti -> connect();
if(!$this->baglanti -> select_db($db)){
echo "Check the DB name!";
echo "<br>";
$this->baglanti->error;
echo "<br>";
}
}
public function Q( $query )
{
if ($stmt = $this -> baglanti -> prepare($query))
{
$stmt -> execute();
$result = $stmt -> get_result();
while ($myrow = $result -> fetch_assoc())
{
var_dump($myrow);
}
}
else
{
var_dump($this -> baglanti);
}
}
public function __destruct()
{
$this -> baglanti -> close();
}
}
$vt = new ASQL;
$vt -> Q("SELECT * FROM mytable");
?>
このコードは私にエラーを与えます
Access denied for user ''@'localhost' to database 'mydb'
select_db() 部分を削除しようとし、データベース名を __construct に追加しましたが、次のような別のエラーが発生しました。
No database selected
このアカウントでプロシージャル接続を試みたところ、正常に動作しました。
ところで、ご覧のとおり、最初のエラーは、空のユーザー名で接続しようとしていることを示しています...
何か不足していますか?