mYsQL Row auslesen

m4nueL

Mitglied
Hallo,

geht es das ich prüfen lasse ob ein feld vorhanden ist oder nicht ?
Beispiel :

<?php
$abfrage = "SELECT * FROM 123 WHERE 123 LIKE '$muh";
// Schauen ob das feld vorhanenden ist

$ergebnis = mysql_query($abfrage);


while($row = mysql_fetch_object($ergebnis))
{
if(feld = vorhanenden){ echo "ja $row->id"; }
if(feld = netda){ echo "nein $row->name"; }
}
?>

So sollte das Script aufgebaut sein. Er soll einfach nur schauen ob das Feld "muh" in der spalte 123 vorhanden ist.. wenn ja dann soll er "ja $row->id" ausgeben und wenn nicht dann halt "nein". Man sollte auch daten aus der Datenbank auslesen können.

Ich hoffe ich hab es klar genug erklärt ..
Wäre nett wenn mir jemand helfen könnte

Vielen Dank

m4nueL
 
Fehler

<?php
$abfrage = "SELECT * FROM tag WHERE tagid LIKE '$tagdate";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if(mysql_num_rows($abfrage) == 1) { echo 'Row vorhanden'; }
else { echo 'keine Row vorhanden'; }
}
?>


So hab ich das jetz gemacht aber wenn kein Feld vorhanden ist dann gibt er halt immer ne fehlermeldung aus..
 
Es gibt auch noch ne andere möglichkeit!
Man lässt schon im SQL-Query zählen.

PHP:
$abfrage = "SELECT COUNT(*) FROM 123 WHERE 123 LIKE '$muh"; 
$ergebnis = mysql_query($abfrage); 
while($row = mysql_fetch_row($ergebnis)) 
{ 
if($row[0] > 0){ echo "ja feld vorhanden"; } 
else{ echo "nein feld nicht vorhanden"; } 
}

Ist dir überlassen, wie du es machst... sind genausoviel programmierzeilen, nur halt, dass schon im query gezählt wird.
 
PHP:
<?php 
$abfrage = "SELECT * FROM tag WHERE tagid LIKE '$tagdate"; 
$ergebnis = mysql_query($abfrage); 
while($row = mysql_fetch_object($ergebnis)) 
{ 
if(mysql_num_rows($abfrage) == 1) { echo 'Row vorhanden'; } 
else { echo 'keine Row vorhanden'; } 
} 
?>

so kann es auch nicht gehen... entweder mysql_num_rows oder mysql_fetch_object ... :-)

PHP:
<?php 
$abfrage = "SELECT * FROM tag WHERE tagid LIKE '$tagdate"; 
$ergebnis = mysql_query($abfrage); 
if(mysql_num_rows($abfrage) == 1) { 
mysql_fetch_* hier
} 
else { echo 'keine Row vorhanden'; } 
} 
?>

mein tip: :RTFM: :-)
 
Zuletzt bearbeitet:
Auslesen

Hallo,

ich hab mich nun für den weg von Razorhawk entscheiden

<?php

$abfrage = "SELECT COUNT(*) FROM tag WHERE tagid LIKE '$tagdate'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_row($ergebnis))
{
if($row[0] > 0){ echo "ja feld vorhanden"; }
else{ echo "nein feld nicht vorhanden"; }
}

?>


nur wollte ich dann noch eine Feld in dieser Zeile ausgeben : $row->name

also so :

if($row[0] > 0){ echo "ja feld vorhanden $row->name"; }

nur das geht nicht so ganz :/
 
is klar, dass ist der glaube ich einzige nachteil daran, denn du hast sql gesagt, dass er lediglich die anzahl der felder zählen soll und somit zählt er nur und legt den DBinhalt nicht in die variable.
da müsstest du in der abfrage nochmal nen sql_query machen ohne den count-befehl oder du nimmst doch mysql_num_rows
mit der möglichkeit

if(mysql_num_rows($ergebnis)>0){
*bla*
}else{
*bla
}
 
wollte gerade anmerken: was macht ihr wenn es mehr als eine zeile gibt?

if(mysql_num_rows($result) == 1))
ist wirklich ungünstig :-)
 
ne

Hoi,

ne das wirds net geben und gibts bei mir nie..
der schaut ja .. "wenn die zeile vorhanden ist dann soll er das ändern formular aufrufen .. wenn net dann das eintragen" :)

somit hat sich das für mich geklärt
 
Zurück