Kann mir jemand erklären, warum die letzte Abfrage immer 1 Zeile zurückgibt. es sollte mehr als 1 zurückgeben, weil es viele Datensätze in der Datenbank gibt!PHP 'IN' Abfrage gibt nur 1 Zeile zurück
Sorry für mein schlechtes Englisch
$query=mysql_query("SELECT book_id FROM ".DB_PREF."books_cats_list WHERE cat_id='".$cat."'");
if($row=mysql_num_rows($query))
{
//fetching all books from $cat category
for($i=0; $fetch=mysql_fetch_assoc($query); $i++)
{
$records[$i]=$fetch['book_id'];
}
//Joining all records in a string for next query
$records=implode(",",$records);
//returning num rows if there're book_id records in $records array
$query=mysql_query("SELECT * FROM ".DB_PREF."books WHERE book_id IN ('".$records."')");
$rows=mysql_num_rows($query);
echo $rows;
Sie sollten mysql_fetch_assoc() verwenden, um die zweiten Abfrageergebnisse genau wie beim ersten zu lesen. – MarcinJuraszek