macropage / mysqlihelper
A basic helper to handle mysqli connections and queries with lazy connection and auto-reconnect
Installs: 3 248
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.6
- ext-mysqli: *
- ext-mysqlnd: *
README
This is a super simple basic wrapper for mysqli, with some extras:
- lazy connection
- auto-reconnect
- named-parameters
Example usage:
<?php require 'vendor/autoload.php'; use macropage\MySQLiHelper\MySQLiBase; $MySQLiHelper = new MySQLiBase( [ 'host' => 'xxxxxxx', 'port' => 3306, 'user' => 'xxxxxx', 'pwd' => 'xxxxxx', 'db' => 'xxxxx', 'charset' => 'utf8', 'trace' => true ] ); $newQuery = $MySQLiHelper->query('select * from table limit 0,10'); foreach ($newQuery->result as $data) { echo $data['table_field']."\n"; }
the defaults are:
- charset: utf8
- port: 3306
- trace: true
The best: this class supports regular AND named parameters - thanks to PEAR:MDB2 where i got the code from :-)
so both works:
$MySQLiHelper->query('select * from table where a=? and b=?',[1,1]);
IS THE SAME LIKE
$MySQLiHelper->query('select * from table where a=:my_placeholder and b=:my_placeholder',['my_placeholder' => 1]);
You can call $MySQLiHelper->connect()
manually, but the class uses lazy connection, so as soon as the first query is done,
a connection to the mysql server will be established.
In case the connection gets lost or a first connection does not work (whyever), there is a default auto-reconnect of 5 tries with a sleep of 3 seconds. you can change this with:
$MySQLiHelper->setAutoReconnectMaxTry(x)
$MySQLiHelper->setAutoReconnectSleep(x)
$MySQLiHelper->setAutoReconnect(false)
$MySQLiHelper->setLowerTableFields(false)
You need a php developer?
Contact me via
....