php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.04.2008, 11:03  
Neuer Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 28
Zabimaru befindet sich auf einem aufstrebenden Ast
Standard Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

hi

folgendes Problem

ich schreibe im moment einen Code, der einen Text zusammenfügt und die einzelnen Kapitel aus einer Datenbank ausließt.
Hierzu habe ich jetzt auch ein Glosar erstellt, in dem die wichtigsten Begriff beschrieben werden.
Wiederum möchte ich gerne die Beschreibung der Wörter durch einen Adminbereich verändern können und hab dazu folgenden Code geschrieben

PHP-Code:
<?php
  
  $GlossaryIndex 
= new GlossaryIndex();
  
$glossaries $GlossaryIndex->GetGlossaries();
  
  foreach(
$glossaries as $glossary)
  {
    echo 
'<li><a href="index.php?glossar_admin=1&id=' $glossary->GetID() . '">' $glossary->GetTitle() . '</a>';
    echo 
'</li>';
    
    if(isset(
$_GET['id']))
    {
      if (
$_GET['id'] == $glossary->GetID())
      {
        echo 
'<form>';
          echo 
'<input type="text" name="title" value="' $glossary->GetTitle() . '"/><br>';
          echo 
'<textarea name="description" cols="80" rows="5">' $glossary->GetText() . '"</textarea>';
          echo 
'<input type="hidden" value="' $_GET['editglossary'] . '" name="glossaryid hidden">  
                <input type="submit" value="ändern" name="glossarydo"></form>'
;
          
          if (isset(
$_POST['glossarydo']))
          { 
          
$editglossary = new Glossary($_POST['id']);
          
$editglossary->SetTitle($_POST['title']);
          
$editglossary->SetText($_POST['description']);
          
          echo 
'Das Glosar (' $editglossary->GetDescription() . ') wurde erfolgreich geändert! <br><a href="index.php?ilib_admin=1">Zurück zur iLibrary-Überischt</a>';
          }
          else
          {         
          
$this->page "error04.php";
          
          }
        echo 
'</form>';
      }
    }
  }
?>

hierzu die notwendigen Funktionen:
PHP-Code:
public function GetID()
  {  
      
$qry mysql_query('SELECT ID FROM glossary');    
      
$res mysql_fetch_assoc($qry);
      
$this->SetTitle($res['ID']);    
    return 
$this->id;
  } 
-------------------------------------------------------------------------
PHP-Code:
public function GetTitle() 
  {
      
$qry mysql_query('SELECT Name FROM glossary WHERE ID = '$this->id);    
      
$res mysql_fetch_assoc($qry); :mad:
      
$this->SetTitle($res['Name']);   
    return 
$this->title;
  } 
-------------------------------------------------------------------------
PHP-Code:
public function GetText() 
  {
    if(
$this->text == NULL)
    {
      
$qry mysql_query('SELECT Description FROM glossary WHERE ID =' $this->id);    
      
$res mysql_fetch_assoc($qry); :mad:
      
$this->text $res['Description'];
    }
    return 
$this->text;
  } 
-------------------------------------------------------------------------
PHP-Code:
function SetTitle($title
  {
    
$this->title $title;
  } 
-------------------------------------------------------------------------
PHP-Code:
 public function SetText($text
  {
      
$qry mysql_query("UPDATE glossary SET Name = '" $this->GetTitle() . "',  Description = '" $this->GetText() . "' WHERE ID = '" $this->id "'");
      
$res mysql_fetch_assoc($qry); :mad:
      
$this->text $res['Description'];
    return 
$this->text;
  } 

Fehler schmeißt es mir in den Zeilen die mit einem markiert sind

weiß einer von euch was dieses ' Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource ' bedeutet und was ich umändern muss?

Geändert von Zabimaru (02.04.2008 um 11:22 Uhr).
Zabimaru ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.04.2008, 11:08  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hi,

benutze bitte die php-Tags für deinen Code.

Diese Fehlermeldung bekommst du weil ein SQL String nicht korrekt war und mysql_query dann in dein $qry keine "MySQL result resource" schreibt sondern einfach false.

Du solltest dir angewöhnen mysql_query(...) or die(mysql_error()); zu benutzen, dann schreibt er dir ggf. auch hin warum dein SQL-Statement nicht ausgeführt werden konnte.

Gruß
Cy

[edit]
Da ich so keinen Fehler in deinen SQL-Statements sehe, wird es wohl daran liegen das $this->id zum Abfragezeitpunkt einfach leer ist, denn diese Variable kommt in allen SQL-Statements vor die nicht funktionieren. Und wenn du an den SQL-Server eine Abfrage "SELECT blub FROM tab WHERE id = " schickst, dann bekommtst du logischerweise einen Syntax-Error vom Server zurück

Geändert von cycap (02.04.2008 um 11:16 Uhr).
cycap ist offline  
Alt 02.04.2008, 11:10  
Neuer Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 28
Zabimaru befindet sich auf einem aufstrebenden Ast
Standard

thx werd ich gleich mal ausprobieren
Zabimaru ist offline  
Alt 02.04.2008, 11:20  
Neuer Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 28
Zabimaru befindet sich auf einem aufstrebenden Ast
Standard

also ich habe meine SQL Befehle mal manuel im Query Browser eingegeben, diese werfen aber wiederum das passende ergebnis

könnte es sein dass durch $this->GetTitle() & $this->GetText() falsche werte übergeben werden? wenn ja woran könnte das lieben?
PHP-Code:
$qry mysql_query("UPDATE glossary SET Name = '" $this->GetTitle() . "', Description = '" $this->GetText() . "' WHERE ID = '" $this->id "'"
Zabimaru ist offline  
Alt 02.04.2008, 11:22  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Lies mal was ich dir oben geschrieben habe, im [edit] Bereich
cycap ist offline  
Alt 02.04.2008, 11:26  
Neuer Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 28
Zabimaru befindet sich auf einem aufstrebenden Ast
Standard

ich hab ihn $this->id ausgeben lassen und er schreibt sie mir auch hin

also daran wirds nicht liegen .....
Zabimaru ist offline  
Alt 02.04.2008, 11:30  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

wie wärs wenn du einfach deinen sql-string vorher in eine variable schreibst und die vorm query ausgeben lässt?

ausserdem kann $this->GetTitle() dir gar nicht das richtige zurück geben wenn du da schon ne Fehlermeldung bekommst (laut deinem ersten Posting)
cycap ist offline  
Alt 02.04.2008, 13:25  
Neuer Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 28
Zabimaru befindet sich auf einem aufstrebenden Ast
Standard

danke, hat sicher erledigt

gab ein problem, weil ich $this->text nicht zurückgegeben hatte

habs dann so umgeschrieben und die funktion Save hinzugefügt:
PHP-Code:
  public function SetText($text
  {
      
$this->text $text;
  }  


public function 
Save()
  { 
    
$qry mysql_query("UPDATE glossary SET Name = '" $this->GetTitle() . "',  Description = '" $this->GetText() . "' WHERE ID = '" $this->GetID() . "'"); 
  } 
jetzt gehts

vielen dank auf jeden fall
Zabimaru ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP -&gt; Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Warning: fread(): supplied argument is not a valid stream resource... pixelprinzessin PHP Tipps 2008 20 23.04.2008 15:44
Warning: fwrite(): supplied argument is not a valid stream Venom PHP Tipps 2007 27 15.12.2005 18:14
mysql_result(): supplied argument is not a valid MySQL PHP Tipps 2005-2 4 25.08.2005 14:44
kleines problem mit fwrite Tic Rederon PHP Tipps 2005-2 6 23.08.2005 08:24
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
ShowIt_V1.8.14 PHP Tipps 2005 1 23.03.2005 19:13
frage zum arbeiten mit dateien PHP Tipps 2005 21 01.03.2005 13:22
Warning: mysql_result(): supplied argument is not a valid My Soese Datenbanken 6 27.01.2005 09:47
Warning: mysql_num_rows(): supplied argument is not a valid PHP Tipps 2004 2 06.09.2004 21:26
Counter zeigt nach ca. 2-3 Stunden fehler an PHP Tipps 2004 2 26.08.2004 20:08
supplied argument is not a valid MySQL result source PHP Tipps 2004 4 20.08.2004 13:50
Häää ?supplied argument is not a valid MySQL result resource Sachse PHP Tipps 2004 4 17.07.2004 18:03
mysql_fetch_row(): supplied argument is not a valid MySQL re PHP Tipps 2004 10 30.06.2004 10:17
Warning: mysql_num_rows(): supplied argument is not a valid PHP Tipps 2004 1 15.06.2004 15:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
warning: mysql_fetch_assoc(): 4 is not a valid mysql result resource, warning: mysql_fetch_assoc(): supplied argument is not a valid mysql result re, mysql_fetch_assoc is not a valid mysql result, mysql_fetch_assoc supplied argument is not a valid mysql result resource, mysql result resource php funktion return, 11warning: mysql_fetch_assoc(): supplied argument is not a valid mysql result resource in, sql like php warning: mysql_fetch_assoc(): supplied argument is not a valid mysql result, mysql_fetch_assoc() is not valid mysql result resource in, warning: mysql_fetch_assoc(): supplied argument is not a valid mysq, mysql_fetch_assoc(): supplied argument is not a valid mysql result resource in /var/, mysql_fetch_assoc(): supplied argument is not, mysql warning: fread(): supplied argument, mysql_fetch_assoc supplied argument is not a valid mysql result resource in mysql update, mysql_fetch_assoc(): supplied argument is not a valid mysql result resource, warning: mysql_fetch_assoc(): supplied argument is not, php warning: mysql_fetch_assoc():, mysql_fetch_assoc(): supplied argument is not a valid mysql result, mysql_fetch_assoc(): supplied argument is not a valid mysql, warning: mysql_fetch_assoc(): supplied argument is not a valid mysql result resource, php mysql input valid

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum