Mindmaster: Ich find den Fehler in der Abfrage nicht :(

Hi,

Es ist wirklich so was einfaches... und ich find den Fehler einfach nicht. Immer meckert er in meiner Abfrage an der gleichen Stelle:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web115/html/admin/delete_links_kat.php on line 61

Ich versteh nicht, was an der Zeile 61 nicht OK sein soll... es ist die vorletzte Zeile in dem hier abgebildeten Script.

if($delkat) {
    include("include_sqlconnect.php");
    $Katabfrage = "SELECT * FROM de_links_kat WHERE kategorie = $delkat";
    $Katergebnis = mysql_query($Katabfrage);
    while ($row = mysql_fetch_array ($Katergebnis))
    {

Kann jemand weiterhelfen?

Grüsse
Mindmaster

  1. hi

    if($delkat) {
        include("include_sqlconnect.php");
        $Katabfrage = "SELECT * FROM de_links_kat WHERE kategorie = $delkat";
        $Katergebnis = mysql_query($Katabfrage);

    hier fehlt noch die datenbank aus der abgefragt werden soll also:
    $db = mysql_connect($host, $username, $password);
    und dann
    $Katergebnis = mysql_query($Katabfrage,$db);

    while ($row = mysql_fetch_array ($Katergebnis))
        {

    gruß
    Tobias

    1. hier fehlt noch die datenbank aus der abgefragt werden soll also:
      $db = mysql_connect($host, $username, $password);
      und dann
      $Katergebnis = mysql_query($Katabfrage,$db);

      while ($row = mysql_fetch_array ($Katergebnis))
          {

      nein... ein wenig Ahnung hab ich schon *g* das Verbinden zur Datenbank wird in der include_sqlconnect.php erledigt, die am Anfang eingebunden ist. Hätte ich dazuschreiben sollen.

      Grüsse
      Mindmaster

      1. hi

        hier fehlt noch die datenbank aus der abgefragt werden soll also:
        $db = mysql_connect($host, $username, $password);
        und dann
        $Katergebnis = mysql_query($Katabfrage,$db);

        while ($row = mysql_fetch_array ($Katergebnis))
            {

        nein... ein wenig Ahnung hab ich schon *g* das Verbinden zur Datenbank wird in der include_sqlconnect.php erledigt, die am Anfang eingebunden ist. Hätte ich dazuschreiben sollen.

        nicht unbedingt, wenn die Verbindungskennung (also $db) nicht angegeben ist, wird die zuletzt geöffnete Verbindung angenommen ansonsten wird versucht eine Verbindung aufzubauen, wie beim Aufruf von mysql_connect() ohne Argumente und diese wird dann benutzt (was ja nicht funktionieren dürfte).
        Quelle: http://www.php.net/manual/de/function.mysql-query.php
        ich weiß nicht ob es daran liegen kann dass die Datenbank vorher noch nicht abgefragt wurde, glaube es aber nicht. :)
        Vielleicht solltes du es einfach mal mit rein schreiben oder den inhalt der include_sqlconnect.php posten (ohne passwort usw halt *g*).

        Vielleicht liegt es ja auch an dieser zeile:
        $Katabfrage = "SELECT * FROM de_links_kat WHERE kategorie = $delkat";
        versuch mal einfache Anführungszeichen: ' um $delkat zu machen ich wüsste zwar nicht warum, aber bei mir macht er nichts, wenn ich die weglasse - fehlermeldung kommt aber auch keine...

        gruß
        Tobias

  2. Hi,

    Es ist wirklich so was einfaches... und ich find den Fehler einfach nicht. Immer meckert er in meiner Abfrage an der gleichen Stelle:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web115/html/admin/delete_links_kat.php on line 61

    Ich versteh nicht, was an der Zeile 61 nicht OK sein soll... es ist die vorletzte Zeile in dem hier abgebildeten Script.

    s.u.

    if($delkat) {
        include("include_sqlconnect.php");
        $Katabfrage = "SELECT * FROM de_links_kat WHERE kategorie = $delkat";

    Ist $delkat ein String? Dann
    $Katabfrage = "SELECT * FROM de_links_kat WHERE kategorie = '$delkat'";
    (Quotes!)

    $Katergebnis = mysql_query($Katabfrage);
        while ($row = mysql_fetch_array ($Katergebnis))

    Der Fehler tritt schon eine Zeile vorher auf. Die Query liefert kein Ergebnis, weil sie aus Syntaxgründen schief geht.

    Krachen tuts aber erst, wenn dann auf das nichtexistente Ergebnis zugegriffen werden soll.

    Vor der Schleife sollte also überprüft werden, ob mysql_query einen Fehler geliefert hat. Siehe dazu mysql_errno() bzw. mysql_error().

    Andreas