How can PHP developers effectively handle database query logging in PHP applications without using mysqli?
When handling database query logging in PHP applications without using mysqli, developers can utilize the PDO (PHP Data Objects) extension to interact with databases. By enabling PDO to log queries, developers can easily monitor and analyze database interactions within their applications.
// Enable PDO query logging
$pdo = new PDO('mysql:host=localhost;dbname=my_database', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Enable query logging
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_STATEMENT_CLASS, [ 'MyPDOStatement', [] ]);
class MyPDOStatement extends PDOStatement {
public function execute($input_parameters = null) {
$start = microtime(true);
$result = parent::execute($input_parameters);
$end = microtime(true);
// Log query execution time
$time = $end - $start;
$query = $this->queryString;
file_put_contents('query_log.txt', "Query: $query - Execution Time: $time seconds\n", FILE_APPEND);
return $result;
}
}
// Example query
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => 1]);
Related questions
-
simplexml parsing RSS feeds
-
sessions cookies user experience
-
PHP scripts optimization self-loading