sql >> データベース >  >> RDS >> Mysql

フォームを使用してmysqliテーブルを検索し、結果を表示します

    いいえ、プリペアドステートメントを作成してから、プレースホルダーを持つ通常のクエリを使用したため、機能しません。プリペアドステートメントを実行し、そのプリペアドステートメントから結果をフェッチします。

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

    または、mysqlndがある場合 (mysqlネイティブドライバー/またはその未定義の関数はありません)、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. 実行中のSELECTステートメントを強制終了する方法

    2. PostgreSQLの日付と時刻の関数

    3. パラメータを使用してOracleで関数を実行する方法

    4. SQLliteデータベースをGoogleドライブアプリフォルダにバックアップ/復元します