• 05-02-2023, 13:04:03
    #1
    Selam,

    php sql sorgusu yazacağım.

    veritabanında 5 ayrı sütün var. bir içerik aramam gerekiyor. hangi sütünda kayıtlı olduğu bellirli değil. bu nedenle 5 sütünda da var mı diye baktırmam gerekiyor.

    Sorguyu nasıl yazmalıyım?

    aranacak: içerik
    bakılacak sütünlar: column1 column2 column3 column4 column5
  • 05-02-2023, 13:10:04
    #2
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "database_name";
    
    // Veritabanı bağlantısı
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Bağlantı kontrol
    if ($conn->connect_error) {
        die("Bağlantı hatası: " . $conn->connect_error);
    }
    
    // SQL sorgusu
    $sql = "SELECT * FROM table_name WHERE column1 LIKE '%$content%' OR column2 LIKE '%$content%' OR column3 LIKE '%$content%' OR column4 LIKE '%$content%' OR column5 LIKE '%$content%'";
    
    // Sorgu sonucu
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        // Sonuçları döngü ile listele
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - column1: " . $row["column1"]. " - column2: " . $row["column2"]. " - column3: " . $row["column3"]. " - column4: " . $row["column4"]. " - column5: " . $row["column5"]. "<br>";
        }
    } else {
        echo "Sonuç bulunamadı.";
    }
    
    $conn->close();
    ?>
  • 05-02-2023, 13:17:32
    #3
    adwerd0z1 adlı üyeden alıntı: mesajı görüntüle
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "database_name";
    
    // Veritabanı bağlantısı
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Bağlantı kontrol
    if ($conn->connect_error) {
        die("Bağlantı hatası: " . $conn->connect_error);
    }
    
    // SQL sorgusu
    $sql = "SELECT * FROM table_name WHERE column1 LIKE '%$content%' OR column2 LIKE '%$content%' OR column3 LIKE '%$content%' OR column4 LIKE '%$content%' OR column5 LIKE '%$content%'";
    
    // Sorgu sonucu
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        // Sonuçları döngü ile listele
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - column1: " . $row["column1"]. " - column2: " . $row["column2"]. " - column3: " . $row["column3"]. " - column4: " . $row["column4"]. " - column5: " . $row["column5"]. "<br>";
        }
    } else {
        echo "Sonuç bulunamadı.";
    }
    
    $conn->close();
    ?>
    hocam concat kullanmak mı daha iyi olur bu şekilde mi? döngüye alacağım..
  • 05-02-2023, 13:24:09
    #4
    buddy adlı üyeden alıntı: mesajı görüntüle
    hocam concat kullanmak mı daha iyi olur bu şekilde mi? döngüye alacağım..
    Concat fonksiyonu daha iyi olabilir hocam
    Buyrun
    Her sütunda arama yapar bulursa listeler bulamazsa
    echo "sonuç ....
    İfadesini verir
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "database_name";
    
    // Veritabanı bağlantısı
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Bağlantı kontrol
    if ($conn->connect_error) {
        die("Bağlantı hatası: " . $conn->connect_error);
    }
    
    $sql = "SELECT * FROM table_name WHERE concat(column1, column2, column3, column4, column5) LIKE '%$content%'";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        // Sonuçları döngü ile listele
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - column1: " . $row["column1"]. " - column2: " . $row["column2"]. " - column3: " . $row["column3"]. " - column4: " . $row["column4"]. " - column5: " . $row["column5"]. "<br>";
        }
    } else {
        echo "Sonuç bulunamadı.";
    }
    
    $conn->close();
    ?>
    - tekrar düzenlendi.