sql >> Database teknologi >  >> RDS >> Mysql

Søg i mysqli-tabel med formular og visningsresultater

Nej, du oprettede en forberedt erklæring, så brugte du den normale forespørgsel, som har pladsholderne, det er derfor, den ikke virker. Udfør den forberedte sætning, og hent derefter resultatet fra den forberedte sætning.

$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 hvis du har mysqlnd (mysql native driver / ellers vil du ikke have den udefinerede funktion), kan du også bruge 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. MySQL:få MAX eller GREATEST af flere kolonner, men med NULL-felter

  2. Er der nogen sikker måde at parametrere databasenavne på i MySQL-forespørgsler?

  3. Google Apps Script til eksport af regneark til mySQL udføres på flere filer

  4. MySQL:DATE_ADD