James
James

Reputation: 379

mysqli - Do I really need to do $result->close(); & $mysqli->close();?

Just started using mysqli. If I'm working with small data sets on small websites (traffic-wise), do I really need to use these all the time?

$result->close(); 
$mysqli->close();

Also, for someone doing custom PHP and MySQL work without a framework, is mysqli the general preferred way of interacting with MySQL?

Upvotes: 37

Views: 55593

Answers (4)

Ixalmida
Ixalmida

Reputation: 603

According to current documentation, you should always use $mysql->kill() in addition to $mysql->close().

$thread = $mysqli->thread_id;
$mysqli->kill($thread);
$mysqli->close();

Upvotes: 18

Raj
Raj

Reputation: 1284

It is a good practice to release resource early when it is no more needed, this may avoid resource peek out when there are more number of concurrent user accessing the same page

Upvotes: 2

Emil Vikström
Emil Vikström

Reputation: 91942

PHP will close all open files and DB connections at the end of the script. It's good practice to do it manually when you are done with the connections, but it's no disaster if you don't. If you have a DB connection that will be used throughout the whole script you can as well leave it open.

+1 on PDO

Upvotes: 41

Matthew Flaschen
Matthew Flaschen

Reputation: 284816

You should get in the habit of doing cleanup right (calling close as soon as you're done), or the resource leaks can gradually accumulate until they impact performance.

As far as what DB layer, learning PDO should be worthwhile because it is well-designed and compatible with all the major databases.

Upvotes: 3

Related Questions