8. Database Interaction
Using PDO or MySQLi:
Always use PDO or MySQLi to interact with databases.
// Good (PDO)
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'user', 'password');
// Good (MySQLi)
$conn = new mysqli('localhost', 'user', 'password', 'testdb');
// Bad
$conn = mysqli_connect('localhost', 'user', 'password', 'testdb');
Avoiding SQL Injection:
Always use prepared statements to prevent SQL injection.
// Good
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
// or
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = ?');
$stmt->execute(['email' => $email]);
// Bad
$result = $pdo->query("SELECT * FROM users WHERE email = '$email'");