Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przeszukaj tabelę mysqli z formularzem i wynikami wyświetlania

Nie, stworzyłeś przygotowane oświadczenie, a następnie użyłeś normalnego zapytania, które zawiera symbole zastępcze, dlatego nie działa. Wykonaj przygotowaną instrukcję, a następnie pobierz wynik z tej przygotowanej instrukcji.

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

Lub jeśli masz mysqlnd (natywny sterownik mysql / lub nie będziesz miał tej niezdefiniowanej funkcji), możesz również użyć 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Schemat bazy danych Wufoo — jak byś go zaprojektował?

  2. jetty-env.xml z DataSource prowadzi do awarii WebAppContext na mvn jetty:run

  3. Jak poprawić szybkość zapisów InnoDB na sekundę w bazie danych MySQL?

  4. Alternatywa MySQL dla T-SQL'a WITH TIES

  5. Różnica między typami danych int i int(2) w moim sql