W3docs

prepare

Neste artigo, discutimos a função mysqli_prepare() em PHP, usada para preparar uma instrução SQL para execução.

PHP mysqli_prepare() Function

Neste artigo, vamos discutir a função mysqli_prepare() em PHP, que é usada para preparar uma instrução SQL para execução.

Introdução à função mysqli_prepare()

A função mysqli_prepare() é uma função nativa do PHP usada para preparar uma instrução SQL para execução. A função mysqli_prepare() cria um objeto de instrução preparada e retorna uma referência a esse objeto. As instruções preparadas são uma ferramenta poderosa para trabalhar com bancos de dados, pois permitem escrever consultas SQL seguras e parametrizadas.

Como usar a função mysqli_prepare()

Usar a função mysqli_prepare() é simples. Veja um exemplo:

Como usar a função mysqli_prepare()?

<?php
$mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM users WHERE id=?";
$stmt = $mysqli->prepare($query);

if (!$stmt) {
    echo "Prepare failed: " . $mysqli->error;
    exit();
}

$id = 1;
$stmt->bind_param("i", $id); // "i" specifies that the variable is an integer

if (!$stmt->execute()) {
    echo "Execute failed: " . $stmt->error;
} else {
    // Note: get_result() requires the mysqlnd driver.
    // For other drivers, use mysqli_stmt_fetch() instead.
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        // process the row
    }
}
$stmt->close();
$mysqli->close();
?>

Neste exemplo, primeiro criamos um novo objeto MySQLi usando a classe mysqli. Em seguida, verificamos se a conexão foi bem-sucedida usando a propriedade connect_errno. Se a conexão for bem-sucedida, definimos uma consulta SQL que seleciona todas as linhas da tabela users onde a coluna id corresponde a um valor de espaço reservado. Em seguida, chamamos $mysqli->prepare() com a string de consulta para criar um objeto de instrução preparada e verificamos se a preparação foi concluída com sucesso. Depois, definimos a variável $id como 1 antes de vinculá-la ao espaço reservado usando $stmt->bind_param(). O "i" na string de tipo especifica que a variável vinculada é um inteiro. Outros tipos suportados incluem "s" para string, "d" para double e "b" para BLOB. Em seguida, executamos a instrução preparada usando $stmt->execute(), adicionando tratamento de erros caso a execução falhe. Depois, recuperamos o conjunto de resultados usando $stmt->get_result() e percorremos as linhas usando $result->fetch_assoc(). Por fim, fechamos a instrução e a conexão usando o método close().

Conclusão

Em conclusão, a função mysqli_prepare() é uma ferramenta poderosa para trabalhar com bancos de dados em PHP. Ao entender como usar a função, você pode escrever consultas SQL seguras e parametrizadas que são resistentes a ataques de injeção SQL.

Prática

Prática
O que é verdadeiro sobre instruções preparadas em PHP?
O que é verdadeiro sobre instruções preparadas em PHP?
Was this page helpful?