tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
823
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    havoc havoc ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    28
    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-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);
        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 ****t gut. das liefert mir den inhalt des array so wie er an der stelle sein soll.

    also ausgabe des
    PHP-Code:
    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 :error:

    mfg
    nils
     

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    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 :
    1
    
    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.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  3. #3
    havoc havoc ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    28
    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....*
     

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 16.12.05, 17:43
  2. Antworten: 5
    Letzter Beitrag: 13.11.05, 12:41
  3. Antworten: 0
    Letzter Beitrag: 28.07.05, 12:10
  4. Antworten: 2
    Letzter Beitrag: 15.05.05, 22:12
  5. Antworten: 30
    Letzter Beitrag: 31.12.03, 14:20