What is the difference between mysqli and mysqli_stmt in PHP?
The main difference between mysqli and mysqli_stmt in PHP is that mysqli is used for executing SQL queries directly in a procedural way, while mysqli_stmt is used for executing prepared statements, which can help prevent SQL injection attacks and improve performance by reusing query execution plans. Using mysqli_stmt is recommended for executing queries with user input to ensure data security.
// Using mysqli_stmt to execute a prepared statement
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$username = "example_user";
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// Process the fetched data
}
$stmt->close();
$conn->close();