I wanted to make a small function that let’s me connect to the database, do something in a callback function and then automatically close the connection like so:
function mysqli_conn( $connection( $mysqli ) ) { $connection( new mysqli($c_host, $c_user, $c_password, $c_database ) ); $mysqli->close(); }
Usage would be like this:
mysqli_conn(function( $mysqli ) { $sql = "INSERT INTO some_table (info1, info2, info3, info4) VALUES (?, ?, ?, ?)"; $stmt = $mysqli->prepare($sql); $stmt->bind_param("ssss", $info1, $info2, $info3, $info4); $stmt->execute(); $stmt->close(); });
Is it possible to achieve this somehow? Because my mysqli_conn
doesn’t seem to work.
How to do it?
Advertisement
Answer
Supposing the $c_...
are globals / defined in the same file:
function mysqli_conn( $connection ) { $mysqli = new mysqli($c_host, $c_user, $c_password, $c_database ); $connection( $mysqli ); $mysqli->close(); }