Immer der erste Wert bei der Suche MySQL

hume1991

Erfahrenes Mitglied
Guten Abend zusammen,

ich bastle heute schon den ganzen Tag und komme einfach nicht darauf warum mir immer der erste Wert einer Tabelle ausgegeben wird bei der Suche und der zweite wird immer nicht ausgegeben? An was könnte dies liegen, kennt jemand diese Problem?
 
Zeig uns deine Abfrage(n) dann kan man dir sicher helfen.

Vermutlich hast du aber in der Abfrage LIMIT stehen, dann kann nur der erste Datensatz rauskommen.
 
PHP:
$sql = 'SELECT * ' . ' FROM `suchen`';
$ergebniss = mysql_query($sql);
$row = mysql_fetch_object($ergebniss);
$suche= $row->suchen;

echo $suche; //Einfach nur ein Beispiel zum testen


if ($_POST['Suchen'] == "Suchen")
if (empty($_POST['suchbegriff']) == TRUE)
{
    echo "<p class=\"error\">Es muss ein Suchbegriff eingegeben werden!</p>";
}

if ($_POST['suchbegriff'] == $suche)
{
    echo "<p>In der Datenbank vorhanden</p>";
}
 
Also zuerst mal deine Abfrage ist etwas merkwürdig aufgebaut. Warum machst du zwei Teile und verbindest sie mit dem Punkt!?

Dann solltest du dir mal die mysql_fetch_object Funktion anschauen.

So wie du es machst, liegt es nicht an der SQL-Anweisung sondern daran wie du auf die Daten zugreifst.
 
Ich habe in einigen Beiträgen gelesen und mehrere Datensätze auslesen zu können is eine while Schleife pflicht. Ist dies so richtig?
 
Genau so ist es, wenn du mehrere Daten aus einer Tabelle erwartest dann musst die diese in einer schleife rausholen.

PHP:
while($row = mysql_fetch_object($ergebniss)){
echo "<pre>";
print_r($row);
echo "</pre>";
}
 
Muss dann für jeden einzelnen Datensatz eine whilfe Schleife erfolgen oder reicht die Spalte aus z.B. Spalte Test 3 Datensäte. Werden dann die 3 Datensätze ausgelesen von der Spalte?
 
Es werden alle Datensätze ausgelesen, was natürlich von deinem SQL-Statement abhängt.
das selbe gilt auch für die Tabellenfelder.
 
Zurück