Создайте таблицу с подготовленным mysqli

0

"У меня есть простой этот очень простой код:

        $sql = "SELECT * FROM 'alerte'";
    $result = $mysqli->query($sql);

if ($result->num_rows > 0) {    

    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['nom_alerte'] . "</td>";
        echo "<td>" . $row['id_priorite'] . "</td>";
        echo "</tr>";   
    }

}   

Я хотел бы использовать подготовленное выражение, но я не уверен, как это сделать.

$stmt = $mysqli -> prepare("SELECT * 
                                FROM 'alerte'
                                WHERE 'id_alerte' = ?");
$stmt->bind_param('i', $id_membre);                             
$stmt->execute(); 

while ($row = $stmt->fetch()) {
    echo "<tr>";
    echo "<td>" . $row['nom_alerte'] . "</td>";
    echo "<td>" . $row['id_priorite'] . "</td>";
    echo "</tr>"; } 

Может ли кто-нибудь указать мне в правильном направлении?

решение, спасибо за комментарий! :

    $id_alerte = '5';
$stmt = $mysqli -> prepare("SELECT  'nom_alerte', 
                                'id_priorite'
                            FROM 'alerte'
                            WHERE 'id_alerte' < ?");
$stmt->bind_param('i', $id_alerte);                             
$stmt->execute(); 

$stmt->bind_result($nom_alerte, $date_debut_alerte, $date_fin_alerte,      $description_alerte, $status, $id_equipe, $id_priorite);

while ($stmt->fetch()) {
echo "<tr>";
    echo "<td>" . $nom_alerte . "</td>";
    echo "<td>" . $id_priorite . "</td>";
echo "</tr>"; 
}   
Теги:
mysqli

1 ответ

1
Лучший ответ

Есть два способа: если mysqlnd установлен в вашей системе, вы можете использовать метод ->get_result()

Или используйте ->bind_result() если они недоступны для извлечения ваших результатов из подготовленного оператора:

->get_result() версия:

$stmt = $mysqli->prepare("SELECT * FROM 'alerte' WHERE 'id_alerte' = ?");
$stmt->bind_param('i', $id_membre);                             
$stmt->execute(); 

$results = $stmt->get_result();
while ($row = $stmt->fetch_assoc()) {
    echo "<tr>";
        echo "<td>" . $row['nom_alerte'] . "</td>";
        echo "<td>" . $row['id_priorite'] . "</td>";
    echo "</tr>"; 
}

Или версия bind_result():

$stmt = $mysqli->prepare("SELECT 'nom_alerte', 'id_priorite' FROM 'alerte' WHERE 'id_alerte' = ?");
$stmt->bind_param('i', $id_membre);                             
$stmt->execute(); 

$stmt->bind_result($nom_alerte, $id_priorite);
while ($stmt->fetch()) {
    echo "<tr>";
        echo "<td>" . $nom_alerte . "</td>";
        echo "<td>" . $id_priorite . "</td>";
    echo "</tr>"; 
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню