I'm using this method to connect to mysql
db :
$this->_Con = new mysqli($this->_DB['Server'],$this->_DB['User'],$this->_DB['Pass'],$this->_DB['DB']);
What is the difference when I connect using this method:
$this->_Con = mysqli_init();
$this->_Con->real_connect($this->_DB['Server'],$this->_DB['User'],$this->_DB['Pass'],$this->_DB['DB']);
mysqli::real_connect -- mysqli_real_connect — Opens a connection to a mysql server.
There are several important differences between the two libraries: Mysqli supports charsets, mysql does not. Mysqli supports prepared statements, mysql does not. Mysql does not support multiple statements, mysqli does.
Return Values ¶ mysqli::__construct() always returns an object which represents the connection to a MySQL Server, regardless of it being successful or not. mysqli_connect() returns an object which represents the connection to a MySQL Server, or false on failure.
Its just another way of connecting to your database. If you use mysqli_init()
it will initialize the mysqli
object first. Then using the object you will call real_connect()
to connect to the database. But when you use new mysqli()
you are initializing the mysqli
object by passing in the connection values as parameters, So it does initialization and connection at the same time.
Note: Calling the constructor with no parameters is the same as calling mysqli_init().
In your first case you are getting the connection object as the return value because you are calling mysqli()
constructor with parameters. So you can run queries on it. But in your second case you need to store the connection like this,
$con = $this->_Con->real_connect($this->_DB['Server'],$this->_DB['User'],$this->_DB['Pass'],$this->_DB['DB']);
Then run queries on $con
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With