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

co to jest, że robię źle podczas konwersji?

prepare() idzie z execute()

Przygotowane zestawienia działają w zasadzie tak:

  1. Przygotuj:tworzony jest szablon instrukcji SQL i wysyłany do bazy danych. Niektóre wartości pozostają nieokreślone, nazywane parametrami (oznaczonymi „?”). Przykład:

    INSERT INTO mtTable VALUES(?, ?, ?)

  2. Baza danych analizuje, kompiluje i przeprowadza optymalizację zapytań na szablonie instrukcji SQL i przechowuje wynik bez jego wykonywania

  3. Wykonaj:w późniejszym czasie aplikacja wiąże wartości z parametrami, a baza danych wykonuje instrukcję. Aplikacja może wykonać instrukcję tyle razy, ile chce, z różnymi wartościami

spróbuj z poniższym kodem

<?php

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$rowperpage = 3;
$offset     = 0;

// counting total number of posts
$query = "SELECT count(id) AS allcount  FROM posts";
$stmt  = $db->query($query)->fetchColumn();

/******** The ABOVE QUERY LOOKS POINTLESS TO ME AS YOU NOT USING THE RESULTS FROM THAT QUERY*/

// select first 3 posts

$qry = "SELECT * FROM posts ORDER BY id ASC LIMIT ?,? ";
$stm = $db->prepare($qry);
$stm->execute(array($offset,$rowperpage));
$results = $stm->fetchall(PDO::FETCH_ASSOC);

if (count($results) > 0) {

    foreach ($results as $row) {

        $id           = $row['id'];
        $title        = $row['title'];
        $content      = $row['content'];
        $shortcontent = substr($content, 0, 160) . "...";
        $link         = $row['link'];

    }
} else {

    echo "No records found";
}
?>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd instrukcji separatora MySQL

  2. Sqlite Dodaj kolumnę do tabeli w określonej pozycji (Android)

  3. Znajdowanie najbliższego dopasowania liczbowego w bazie danych do tego, co użytkownik wprowadził w php

  4. Wymagane pojedyncze zapytanie do pobrania danych z tabel

  5. Jak połączyć się z MySQL za pomocą Microsoft .NET