problem mit variablen auslesen aus einer mysql datenbank

havoc

Mitglied
guten abend.

ich habe wie mir scheint ein kleines problem...

und zwar habe ich eine tabelle angelegt, und will nun eine spalte aus dieser tabelle nach einem ganz bestimmten wert durchsuchen damit ich nicht ausversehen doppelte einträge mache...

die variable nach der ich suche wird auch richtig übergeben.

hier mal der code dazu

PHP:
include ("../con_def.inc");
$check_id = mysql_connect($server,$user2, $pwd2);
@mysql_select_db($db2, $check_id);
echo $array[name];
$check_result = mysql_query("select name FROM moviedb WHERE name like '$array[name]';", $check_id);
	echo $check_result;

die beiden echos sind nur drin um zu sehen ob die variable $array[name] vor dem querry richtig gesetzt ist und das überprüfen des results macht dann halt das zweite echo.

das $array-echo funzt gut. das liefert mir den inhalt des array so wie er an der stelle sein soll.

also ausgabe des
PHP:
echo $check_result;
bekomme ich aber nur folgendes:

Ressource id#2

wenn ich die gleiche abfrage in phpmyadmin durchführe, dann zeigt sie mir halt alle zeilen an in denen das feld "name" den wert $array[name] hat. also genau so wie es soll.

ich hatte es mir nämlcih so gedacht, dass ich erst prüfe ob schon was vorhanden ist ($check_result wird mit nem wert belegt) und dann per

if...else...

jeweils die reaktionen aufrufe. bei leerer $check_result liegt kein feld mit dem namen vor, also neu eintragen
bei egal wie gefüllter variable liegt shcon ein eintrag vor und der user wird drauf hingewiesen.

leider klappt es in keinster weise ihm diesen fehler auszutreiben.
habe mir dazu schon den kopf kringelig gedacht...

hoffend auf hilfe :eek: :error:

mfg
nils
 
der direkte rückgabewert von mysql_query() enthält ja auch nicht den wert, den du haben willst. damit hast du erst etwas, was man unter windows als "recordset" bezeichnen würde - eine art abbild der tabelle.
wenn du daraus den inhalt eines feldes haben willst, sieht das so aus:
Code:
include("../con_def.inc");
$check_id = mysql_connect($server, $user2, $pwd2);
@mysql_select_db($db2, $check_id);
echo $array[name];
$check_result = mysql_query("SELECT name FROM moviedb WHERE name LIKE '$array[name]';", $check_id);
while($datensatz = mysql_fetch_array($check_result))
{
    echo $datensatz[name] . "<br>\n;
}
mysql_free_result($check_result);

damit gibst du alle gefundenen datensätze aus. wenn du allerdings nur die anzahl brauchst, reicht folgedes anstelle der schleife:
Code:
echo mysql_num_rows($check_result);
damit kriegst du die anzahl der datensätze, die von der abfrage gefunden wurden. wenn die grösser als 0 ist, ist der name mindestens einmal in der tabelle vorhanden.
 
ARGH:[ GRRR:{} GRML

wie dumm kann cih denn eigentlich sein??? in meinem letzen script habe ich genau das gemacht, aber da kam es mir ja auch auf die werte an.... hier wollte ich nur wissen ob da was drinsteht.. boah wie verhagelt kann man sein???


aber trotzdem danke....

*sichandenkopphau....*
 
Zurück