ska: variableninhalt

abend,

bei diesem Stück Quelltext sollte eigentlich das Ergebnis der Abfrge in $check gespeichert werden,  wenn die Abfrage kein Ergebnis hat also $check leer ist soll false ausgegeben werden ansonsten der Variableninhalt.

Gut jetzt weiss ich nicht ob der inhalt des querys in ein array kommt weil ich nur resourc id 3  bekomme für echo $check, aber davon abgesehen sollte ja zunächst false kommen wenn die plz nicht in der tabelle plz vorhanden ist, aber es kommt immer nur resourc id 3?

$check = mysql_query("select plz from plz where plz=".$_GET['plz'],$connect);
if (empty($check))
 {
  echo 'false';
 }
  else
  {
  echo $check;
  }

bitte um hilfe

mbg ska

  1. Hello,

    bei diesem Stück Quelltext sollte eigentlich das Ergebnis der Abfrge in $check gespeichert werden,

    Es wird dort bei select entweder eine Ressource ID (ein Handle) gespeichert, oder eben false.

    Das Handle kannst Du zwar direkt abfragen, aber was nützt es Dir?
    Wenn Du wissen willst, was sich dahinter verbirgt, benötigst Du die passenden Funktionen dafür.

    mysql_fetch_assoc()
    mysql_num_result()
    usw.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. hi,

      also ich stecke mache aus $check mit mysql_fetch_assoc ein array und danach lese ich es z.B mit foreach aus um dann an meine Zahl zu gelangen. Geht das auch kürzer?

      mbg Ska

      1. meine Lösung,

        if ($_GET['plz'] )
        {
        $check = mysql_query("select plz from plz where plz=".$_GET['plz'],$connect);
        $chek = mysql_fetch_assoc($check);
        if (empty($chek))
         {
          echo 'Die eingegebene Plz ist nicht vorhanden, bitte versuchen Sie es erneut.';
         }

        if(!empty($chek)){
        foreach($chek as $value)
        echo $value;
        }

        mbg Ska

        1. Hello,

          ... dieser nicht ganz!

          #> if ($_GET['plz'] )
             if (isset($_GET['plz']))

          {

          #    $check = mysql_query("select plz from plz where plz=".$_GET['plz'],$connect);
          #    Kein Escaping bedeutet meistens "Tschüss Datenbank!"

          $sql = 'select plz from plz where plz=".mysql_real_escape_tring($_GET['plz'],$connect);
          $res = mysql_query($sql,$connect);  ## nimm nachvollziehbare und unterscheidbare Variablennnamen

          erst abfragen, ob $res erfolgreich war.

          if (!$res)
          {
             # Das bedeutet nicht, dass die angegebene PLZ nicht in der DB steht,
             # sondern das das Query insgesamt schiefgegangen ist.
             # Der Grund könnte dann in mysql_error($connect) stehen.
          }
          else
          {
            # nach der Anzahl der gelieferten Datensätze fragen
            if (mysql_num_result($res) > 0)
            {
              $_record = mysql_fetch_assoc($res);
            }
            else
            {

          echo 'Die eingegebene Plz ist nicht vorhanden, bitte versuchen Sie es erneut.';

          }

          #> if(!empty($chek))
             else    ## Hier hatte Else immer das Wort ;-)

          ...

          Statt mit mysql_fetch_assoc() und foreach() zuzugreifen, kannst Du auch direkt mit

          $plz = mysql_fetch_field($connect,0);

          zugreifen, da Du ja nur die erste haben willst

          http://de2.php.net/manual/en/function.mysql-fetch-field.php

          Dann solltest Du aber auch sicherstellen mit if(mysql_num_rowws($res) == 1), dass nur ein Datensatz geliefert wurde.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

          1. hallo,

            danke für die ausführlichen Hilfestellungen.

            Werde mir alles einprägen.

            mbg Ska

      2. Hello,

        also ich stecke mache aus $check mit mysql_fetch_assoc ein array und danach lese ich es z.B mit foreach aus um dann an meine Zahl zu gelangen. Geht das auch kürzer?

        Der Weg ist gangbar...

        Harzliche Grüße vom Berg
        http://bergpost.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  2. Hi,

    dir scheint noch wesentliches Grundlagenwissen zu fehlen - nimm dir doch bitte erst mal ein Tutorial wie bspw. http://tut.php-quake.net/ vor.

    MfG ChrisB

    1. hallo,

      danke für den Tipp mach ich gerne, könntest du mir vielleicht noch einen Gefallen tun und mir verlinken wo in diesem Tut etwas über handle steht und wie ich diese verwende.

      mbg Ska

      1. Hi,

        danke für den Tipp mach ich gerne, könntest du mir vielleicht noch einen Gefallen tun und mir verlinken wo in diesem Tut etwas über handle steht und wie ich diese verwende.

        http://tut.php-quake.net/mysql-query.html erklaert den grundlegenden Umgang mit MySQL-Abfragen.
        http://www.php.net/manual/de/ref.mysql.php - unter "Begriffserläuterung" weitere Erklaerungen.

        MfG ChrisB