Home
Previous
In this post, we will learn about how to create connection to database between PHP as server-side with MySQL as database-engine.
There are 3 ways that will we use:
First, create a PHP file with standar name, like index.php, then write the needed variables:
$hostname = "localhost"; $port = "3306"; $username = "root"; $password = "";
Add $database
variable:
$database = "testing";
Then, we will create a database "testing":
CREATE DATABASE `testing`;
Create table "users":
CREATE TABLE `users` ( `id` int(11) NOT NULL, `firstname` varchar(50) NOT NULL, `lastname` varchar(50) NOT NULL, `description` varchar(250) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Add primary key:
ALTER TABLE `users` ADD PRIMARY KEY (`id`);
Add auto increment:
ALTER TABLE `users` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT;
1. MySQLi1 procedural
Create connection using mysqli::__construct2, add $database
:
$connection = mysqli_connect( $hostname, $username, $password, $database );
Check connection, if there is errors, call mysqli_connect_error()3 function inside exit()4 function and use var_dump()5 function with argument of the $connection
for get the result:
if ( ! $connection ) { exit( "Connection failed: " . mysqli_connect_error() ); } else { echo "Connnected succesfully to server"; echo "<pre>"; var_dump($connection); echo "</pre>"; }
Close connection using mysqli::close6:
mysqli_close($connection);
Source Code:
2. MySQLi1 object-oriented
Create connection and add $database
:
$connection = new mysqli( $hostname, $username, $password, $database );
Check connection:
if ( $connection->connect_error ) { exit( "Connection failed: {$connection->connect_error}" ); } else { echo "Connnected succesfully to server"; echo "<pre>"; var_dump($connection); echo "</pre>"; }
Close connection:
$connection->close();
Source Code:
3. PDO7
Especially for PDO, we will use try catch
try {
Set dsn and attribute [option], add $database
:
$dsn = "mysql:host=$hostname;port=$port;dbname=$database"; $setAttribute = array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ );
Create connection using PDO::__construct8:
$connection = new PDO( $dsn, $username, $password, $setAttribute );
Check connection:
if ( $connection ) { echo "Connnected succesfully to server"; echo "<pre>"; var_dump($connection); echo "</pre>"; } }
Get and print error message, if exist:
catch ( PDOException $err ) { echo "Connection failed: " . $err->getMessage(); }
Close connection with set $connection
equal to null:
$connection = null;
Source Code:
Back to Home
| Next#
-
php.net, "MySQL Improved Extension", accessed on date 21 december 2019 and from https://www.php.net/manual/en/book.mysqli.php ↩
-
php.net, "mysqli::__construct", accessed on date 21 december 2019 and from https://www.php.net/manual/en/mysqli.construct.php ↩
-
php.net, "mysqli_connect_error", accessed on date 21 december 2019 and from https://www.php.net/manual/en/mysqli.connect-error.php ↩
-
php.net, "exit", accessed on date 21 december 2019 and from https://www.php.net/manual/en/function.exit.php ↩
-
php.net, "var_dump", accessed on date 21 december 2019 and from https://www.php.net/manual/en/function.var-dump.php ↩
-
php.net, "mysqli::close", accessed on date 21 december 2019 and from https://www.php.net/manual/en/mysqli.close.php ↩
-
php.net, "PHP Data Objects", accessed on date 21 december 2019 and from https://www.php.net/manual/en/book.pdo.php ↩
-
php.net, "PDO::__construct", accessed on date 21 december 2019 and from https://www.php.net/manual/en/pdo.construct.php ↩
Top comments (0)