What are common pitfalls when working with MySQL queries in PHP and how can they be avoided?
One common pitfall when working with MySQL queries in PHP is not properly sanitizing user input, which can lead to SQL injection attacks. To avoid this, always use prepared statements with parameterized queries to prevent malicious input from affecting the query execution.
// Connect to MySQL database
$mysqli = new mysqli("localhost", "username", "password", "database");
// Check connection
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// Prepare a statement with parameterized query
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
// Set parameter values and execute query
$username = $_POST['username'];
$stmt->execute();
// Process results
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// Do something with the data
}
// Close statement and connection
$stmt->close();
$mysqli->close();