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

Jak wybrać wiele rekordów (wiersz) z kolumny w mysql?

Możesz zrobić jedno, ale zapytanie IN jest znacznie bardziej wydajne w tym celu w przypadku dużych zapytań. Dawno temu przeprowadziłem proste testy, które wykazały, że użycie w tym celu konstrukcji IN jest około 10 razy szybsze. Jeśli pytasz, czy składnia jest poprawna, to tak, wygląda dobrze, poza brakiem średników w celu uzupełnienia instrukcji.

EDYTUJ :Wygląda na to, że pytanie, które zadałeś, brzmiało „dlaczego te zapytania zwracają tylko jedną wartość”. Cóż, patrząc na przykładowy kod, który zamieściłeś, problem jest tutaj:

$fetch = mysql_fetch_assoc($result) or die (mysql_error());
$itemsCollected = $fetch['item_name'];
echo $itemsCollected;

Musisz przechodzić przez pętlę i iterować, aż nie będzie więcej wyników do pobrania, ponieważ Pax wskazał . Zobacz stronę podręcznika PHP dla mysql_fetch_assoc :

$sql = "SELECT item_name from items WHERE item_id IN('s001','a012')";
$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
//       then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

mysql_free_result($result);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego ten błąd migracji bazy danych po uaktualnieniu mojej wersji django-mptt?

  2. Jak sumować z MySQL dla każdego n rekordu?

  3. Wyłącz ostrzeżenia i błędy w PHP i MySQL

  4. Jak skutecznie połączyć się z mysql w php bez ponownego łączenia się przy każdym zapytaniu?

  5. Nie można uruchomić serwera w szynach z mysql db