sql >> Database >  >> RDS >> Mysql

Mysqli-tabel doorzoeken met formulier en resultaten weergeven

Nee, je hebt een voorbereide instructie gemaakt, daarna heb je de normale query gebruikt die de tijdelijke aanduidingen heeft, daarom werkt het niet. Voer de voorbereide verklaring uit en haal vervolgens het resultaat van die voorbereide verklaring op.

$query = "SELECT * FROM photos WHERE cata=? OR catb=? OR catc=?";
$conn = $db->prepare($query);
$conn->bind_param("sss", $cata, $catb, $catc);
$conn->execute();
$conn->bind_result($cata, $catb, $catc);
?>
<table border="1">
<tr>
    <th>cata</th>
    <th>catb</th>
    <th>catc</th>
</tr>
<?php
while ($conn->fetch()) {

    echo '<tr>';
    echo '<td>' . $cata . '</td>';
    echo '<td>' . $catb . '</td>';
    echo '<td>' . $catc . '</td>';
    echo '</tr>';
}

Of als je de mysqlnd . hebt (eigen mysql-stuurprogramma / anders heb je die ongedefinieerde functie niet), je kunt ook get_result() gebruiken :

$query = "SELECT * FROM photos WHERE cata=? OR catb=? OR catc=?";
$conn = $db->prepare($query);
$conn->bind_param("sss", $cata, $catb, $catc);
$conn->execute();
$results = $conn->get_result(); // i like this better
?>
<table border="1">
<tr>
    <th>cata</th>
    <th>catb</th>
    <th>catc</th>
</tr>
<?php
while ($row = $results->fetch_assoc()) {

    echo '<tr>';
    echo '<td>' . $row['cata'] . '</td>';
    echo '<td>' . $row['catb'] . '</td>';
    echo '<td>' . $row['catc'] . '</td>';
    echo '</tr>';
}

?>


  1. Identiteitszaad resetten na het verwijderen van records in SQL Server

  2. Perl DBI voegt meerdere rijen in met behulp van mysql native multiple insert-mogelijkheid

  3. Transactiereplicatie maken

  4. Oracle PL/SQL-verzamelingen - Geneste tabel in de database maken