ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » mysql.php on line 71

Geschlossen
  1. #1
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe Helferlein,
    nachdem ich jetzt schon einige Wochen mit verschiedenen CMS Systemen auf die Schnauze gefallen bin, vor allem mit dem Support und helfenden Händen, habe ich mir jetzt mal Ilch installiert.

    Nun mal zu meinem Fehler !
    Ja ich weiss, das ich was gemacht habe was nicht die feine englische Art ist, aber ich brauche das so.

    Also, ich habe in die Datei "profil_edit.php" ein paar Dinge eingebaut und in der DB die dazugehörigen Felder erstellt.

    gilde als TEXT ohne Default Wert und ALLOW NULL = NEIN

    lev,alf,fen,gla,hel,mid,nam,forn,wat,ruf,tok, kar,abe,sos,vol,cad,ran,gle,pgi,ctp,gesamt alle als INT, Länge 255, Allow NULL = ja, DEFAULT = 28

    durch als DOUBLE, Länge 4,2, ALLOW NULL = ja, DEFAULT = 532

    Jetzt bekomme ich folgende Fehlermeldung:

    MySQL Error:
    1054 : Unknown column 'gilde' in 'field list'
    in Query:
    SELECT email,wohnort,homepage,aim,msn,icq,yahoo,avatar,status,staat,gebdatum,sig, opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank,gilde,lev,alf,fen,
    gla,hel,mid,nam,forn,wat,ruf,tok,kar,abe,sos,vol,cad,ran,gle,pgi,ctp, gesamt,durch FROM `ic1_user` WHERE id = "1"

    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ profil_edit.php:20 -- db_query(...)
    @ user.php:24 -- require_once(...)
    @ index.php:24 -- require_once(...)


    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result
    resource in /www/htdocs/w00b10ac/ilch/include/includes/func/db/mysql.php on line 71
    function db_num_rows ($erg) {
      [b]return (mysql_num_rows ($erg));[/b]

    Zeiile 2 = Zeile 71 in der Datei

    Leider habe ich keine Ahnung warum !

    Ich bitte um schnellst mögliche Hilfe und bedanke mich schon jetzt.

    betroffene Homepage: test.th-gruettner.de/ilch/


    Zuletzt modifiziert von Tommy67 am 11.05.2010 - 22:25:06
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    zeig mal den phpcode von profil_edit.php Zeile 20

    hab in deinem beitrag mal 2 leerzeichen eingefügt damit es das Design nicht sprengt


    Zuletzt modifiziert von GeCk0 am 11.05.2010 - 22:20:07
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    Hi Gecko,

    daran habe ich nichts geändert !

    	$erg = db_query($abf);
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    ja dann etwas weiter oben $abf = "..."
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    	$abf = 'SELECT email,wohnort,homepage,aim,msn,icq,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank,gilde,lev,alf,fen,gla,hel,mid,nam,forn,wat,ruf,tok,kar,abe,sos,vol,cad,ran,gle,pgi,ctp,gesamt,durch FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';


    Sorry habe die URL falsch eingegeben !!!

    Jetzt ist sie oben richtig ... kommt davon wenn man an 2 gleichzeitig arbeitet.

    test.th-gruettner.de/ilch/


    Zuletzt modifiziert von Tommy67 am 11.05.2010 - 22:26:45
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    hm soweit seh ich keinen Fehler, gut möglich das ich etwas übersehe aber überprüfe mal fogendes

    ist die Spalte "gilde" in der _user Tabelle ? (schreibweise deutsch/english ?)

    anstelle der ganzen spalten in der DB-Query mal ein * setzen (nur zum testen)

    WHERE id = "'.$_SESSION['authid'].'"

    durch
    WHERE id = '.$_SESSION['authid'].'

    ersetzen
    (ist zwar kein schwerwiegender Fehler, aber integer brauchen keine Anführungszeichen
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    Hallo Gecko,

    Jepp, die schreibweise ist richtig das Feld heisst auch "gilde".

    Mit dem * statt der ganzen Felder bekomme ich zumindest alles richtig angezeigt.

    Das ist ja schon mal Spitze !!!

    Aber wenn ich das Profil jetzt abschicke kommt ein andere Fehler.

    Neues Thema dafür ?


    Zuletzt modifiziert von Tommy67 am 11.05.2010 - 23:02:11
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    ne kein neues Thema

    welcher Fehler kommt denn...?

    ich bezweifel irgendwie das die Spalte in der user-tabelle existiert
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    Das ist der folgende Fehler wenn ich das Profil speichern möchte.
    Schwer zu kopieren, weil nach 3 Sekunden wieder weg.



    MySQL Error:
    1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'gilde = '', lev = '', alf = '', fen = '', gla = '', hel = ' at line 18
    in Query:
    UPDATE `ic1_user` SET homepage = 'externer Link wohnort = '', icq = '', msn = '', yahoo = '', aim = '', staat = '', geschlecht = '1', status = '1', opt_mail = '1', opt_pm = '1', opt_pm_popup = '0', gebdatum = '0000-00-00', sig = '' gilde = '', lev = '', alf = '', fen = '', gla = '', hel = '', mid = '', nam = '', forn = '', wat = '', ruf = '', tok = '', kar = '', abe = '', sos = '', vol = '', cad = '', ran = '', gle = '', pgi = '', ctp = '', gesamt = '', durch = '', WHERE id = 1

    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ profil_edit.php:173 -- db_query(...)
    @ user.php:24 -- require_once(...)
    @ index.php:24 -- require_once(...)

    Zeile 18 wie oben geschrieben ist:
      $design->header();



    Mein Code:

      /* BERECHNUNGEN */
    	$gesamt = $row->alf + $row->fen + $row->glads + $row->hela + $row->mida + $row->nam + $row->forn + $row->watt + $row->ruf + $row->tok + $row->karu + $row->abel + $row->soso + $row->vol + $row->cad + $row->ran + $row->glei + $row->pearl + $row->ctp;
    
    	$durch = $gesamt/19;
    
      # statische felder speichern
    		  db_query("UPDATE prefix_user
    			  SET
              homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."',
              wohnort = '".escape($_POST['wohnort'], 'string')."',
              icq = '".escape($_POST['icq'], 'string')."',
              msn = '".escape($_POST['msn'], 'string')."',
              yahoo = '".escape($_POST['yahoo'], 'string')."',
              ".$avatar_sql_update."
              aim = '".escape($_POST['aim'], 'string')."',
              staat = '".escape($_POST['staat'], 'string')."',
              geschlecht = '".escape($_POST['geschlecht'], 'string')."',
              status = '".escape($_POST['status'], 'string')."',
              opt_mail = '".escape($_POST['opt_mail'], 'string')."',
              opt_pm = '".escape($_POST['opt_pm'], 'string')."',
              opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."',
              gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."',
              sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."'
    		  gilde = '".escape($_POST['gilde'], 'string')."',
      		  lev = '".escape($_POST['lev'], 'string')."',
    		  alf = '".escape($_POST['alf'], 'string')."',
    		  fen = '".escape($_POST['fen'], 'string')."',
    		  gla = '".escape($_POST['gla'], 'string')."',
    		  hel = '".escape($_POST['hel'], 'string')."',
    		  mid = '".escape($_POST['mid'], 'string')."',
    		  nam = '".escape($_POST['nam'], 'string')."',
    		  forn = '".escape($_POST['forn'], 'string')."',
    		  wat = '".escape($_POST['wat'], 'string')."',
    		  ruf = '".escape($_POST['ruf'], 'string')."',
    		  tok = '".escape($_POST['tok'], 'string')."',
    		  kar = '".escape($_POST['kar'], 'string')."',
    		  abe = '".escape($_POST['abe'], 'string')."',
    		  sos = '".escape($_POST['sos'], 'string')."',
    		  vol = '".escape($_POST['vol'], 'string')."',
    		  cad = '".escape($_POST['cad'], 'string')."',
    		  ran = '".escape($_POST['ran'], 'string')."',
    		  gle = '".escape($_POST['gle'], 'string')."',
    		  pgi = '".escape($_POST['pgi'], 'string')."',
    		  ctp = '".escape($_POST['ctp'], 'string')."',
    		  gesamt = '".escape($_POST['$gesamt'], 'string')."',
    		  durch = '".escape($_POST['$durch'], 'string')."',
    				WHERE id = ".$_SESSION['authid']
          );



    Zuletzt modifiziert von Tommy67 am 11.05.2010 - 23:31:24
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    in deinem code, zeile 18 scheint ein komma am Ende zu fehlen


    Zuletzt modifiziert von GeCk0 am 11.05.2010 - 23:26:26
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    1. Wieso siehst du das auf einen Blick und ich schaue mich blöde ? ^^

    2. Habe meinen Code oben noch erweitert, meinst du das das so geht ?
    Oder muss ich an den Zeilen 45. und 46 noch was ändern ?
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    zu 1.
    keine Ahnung, evtl weil ich die letzte Zeit täglich mit PHP rumpfusche ^^

    zu 2.
    in Zeile 46 müsst warscheinlich das Komma weg weil danach keine SET-Anweisung mehr folgt
    einfach mal probieren ;=)

    ich finds auch unschön das du direkt in der query escapest, aber das hat warscheinlich nichts mit der Funktionalität zu tun


    Zuletzt modifiziert von GeCk0 am 11.05.2010 - 23:36:37
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Tommy67 Mitglied
    Registriert seit
    07.06.2009
    Beiträge
    14
    Beitragswertungen
    0 Beitragspunkte
    Soweit so gut !!
    Schon mal VIELEN DANK !!!

    1 Problem habe ich noch bei der Berechnung, hoffe das mir dabei noch jemand helfen kann.
      # statische felder speichern
    		  db_query("UPDATE prefix_user
    			  SET
              homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."',
              wohnort = '".escape($_POST['wohnort'], 'string')."',
              icq = '".escape($_POST['icq'], 'string')."',
              msn = '".escape($_POST['msn'], 'string')."',
              yahoo = '".escape($_POST['yahoo'], 'string')."',
              ".$avatar_sql_update."
              aim = '".escape($_POST['aim'], 'string')."',
              staat = '".escape($_POST['staat'], 'string')."',
              geschlecht = '".escape($_POST['geschlecht'], 'string')."',
              status = '".escape($_POST['status'], 'string')."',
              opt_mail = '".escape($_POST['opt_mail'], 'string')."',
              opt_pm = '".escape($_POST['opt_pm'], 'string')."',
              opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."',
              gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."',
              sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."',
    		  gilde = '".escape($_POST['gilde'], 'string')."',
      		  lev = '".escape($_POST['lev'], 'string')."',
    		  alf = '".escape($_POST['alf'], 'string')."',
    		  fen = '".escape($_POST['fen'], 'string')."',
    		  gla = '".escape($_POST['gla'], 'string')."',
    		  hel = '".escape($_POST['hel'], 'string')."',
    		  mid = '".escape($_POST['mid'], 'string')."',
    		  nam = '".escape($_POST['nam'], 'string')."',
    		  forn = '".escape($_POST['forn'], 'string')."',
    		  wat = '".escape($_POST['wat'], 'string')."',
    		  ruf = '".escape($_POST['ruf'], 'string')."',
    		  tok = '".escape($_POST['tok'], 'string')."',
    		  kar = '".escape($_POST['kar'], 'string')."',
    		  abe = '".escape($_POST['abe'], 'string')."',
    		  sos = '".escape($_POST['sos'], 'string')."',
    		  vol = '".escape($_POST['vol'], 'string')."',
    		  cad = '".escape($_POST['cad'], 'string')."',
    		  ran = '".escape($_POST['ran'], 'string')."',
    		  gle = '".escape($_POST['gle'], 'string')."',
    		  pgi = '".escape($_POST['pgi'], 'string')."',
    		  ctp = '".escape($_POST['ctp'], 'string')."'
    				WHERE id = ".$_SESSION['authid']
          );
    
    		$abfrage = 'SELECT gilde,lev,alf,fen,gla,hel,mid,nam,forn,wat,ruf,tok,kar,abe,sos,vol,cad,ran,gle,pgi,ctp,gesamt,durch FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
    		$gesamt = $row->alf + $row->fen + $row->gla + $row->hel + $row->mid + $row->nam + $row->forn + $row->wat + $row->ruf + $row->tok + $row->kar + $row->abe + $row->sos + $row->vol + $row->cad + $row->ran + $row->gle + $row->pgi + $row->ctp;
    		
    		$durch = ($gesamt/19);		  
    
    		  db_query("UPDATE prefix_user
    			SET
              gesamt='".mysql_escape_string($gesamt)."',
              durch='".mysql_escape_string($durch)."'			   
    		  	WHERE id = ".$_SESSION['authid']
          );



    Hauptsächlich ab Zeile 43. 44.


    Zuletzt modifiziert von Tommy67 am 12.05.2010 - 10:07:58
    MfG Tommy67
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten