sql >> Databasteknik >  >> RDS >> Mysql

Sök i mysqli-tabell med formulär och visningsresultat

Nej, du skapade ett förberett uttalande, sedan använde du den normala frågan som har platshållarna, det är därför den inte fungerar. Kör den förberedda satsen och hämta sedan resultatet från den beredda satsen.

$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>';
}

Eller om du har mysqlnd (mysql inbyggd drivrutin / annars kommer du inte ha den odefinierade funktionen), kan du också använda get_result() :

$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. Apache Spark:JDBC-anslutningen fungerar inte

  2. Android JDBC fungerar inte:ClassNotFoundException på drivrutinen

  3. Hur visar jag poster vertikalt i mysql-kommandoraden?

  4. Hur man stoppar eller kontrollerar Microsoft Access-felkontrollmarkörer