ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Menüpunkte unter Navigation Fehler

Geschlossen
  1. #1
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Guten Tag Forengemeinde...

    ich wollte eben einen neuen Menüpunkt links in der Leiste hinzufügen.
    Jetzt kann ich aber weder ein Menü verschieben, noch bearbeiten im Admin-Bereich unter Navigation traurig

    Fehlermeldung:

    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 '' at line 1
    in Query:
    SELECT * FROM ic1_menu WHERE wo = 1 AND pos =
    
    Debug backtrace:
    	@ mysql.php:46 -- debug_bt()
    	@ mysql.php:64 -- db_check_error(...)
    	@ menu.php:342 -- db_query(...)
    	@ admin.php:20 -- require_once(...)
    
    
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/web1285/html/ilch/include/includes/func/db/mysql.php on line 72


    MYSQL:

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $count_query_xyzXYZ = 0;
    
    function db_connect () {
      if (defined('CONN')) {
        return;
      }
      define ( 'CONN', @mysql_pconnect(DBHOST, DBUSER, DBPASS));
      $db = @mysql_select_db(DBDATE, CONN);
    
      if (!CONN) {
        die('Verbindung nicht m&ouml;glich, bitte pr&uuml;fen Sie ihre mySQL Daten wie Passwort, Username und Host<br />');
      }
      if ( !$db ) {
        die ('Kann Datenbank "'.DBDATE.'" nicht benutzen : ' . mysql_error(CONN));
      }
      if (function_exists('mysql_set_charset') and version_compare(mysql_get_server_info(CONN), '5.0.7') !== -1) {
          //Für ältere Installation die init.php nachladen
          if (!defined('ILCH_DB_CHARSET') && file_exists('include/includes/init.php')) {
              require_once 'include/includes/init.php';
          }
          mysql_set_charset(ILCH_DB_CHARSET, CONN);
      }
      $timeZoneSetted = false;
      if (function_exists('date_default_timezone_get')) {
        $timeZoneSetted = mysql_query('SET time_zone = "' . date_default_timezone_get() . '"');
      }
      if (!$timeZoneSetted && version_compare(PHP_VERSION, '5.1.3')) {
        $timeZoneSetted = mysql_query('SET time_zone = "' . date('P') . '"');
      }
    }
    
    function db_close () {
      mysql_close ( CONN );
    }
    
    function db_check_error (&$r, $q) {
      if (!$r AND mysql_errno(CONN) <> 0 AND function_exists('is_coadmin') AND is_coadmin()) {
      	// var_export (debug_backtrace(), true)
        echo('<font color="#FF0000">MySQL Error:</font><br>'.mysql_errno(CONN).' : '.mysql_error(CONN).'<br>in Query:<br>'.$q.'<pre>'.debug_bt().'</pre>');
      }
      return ($r);
    }
    
    function db_query ($q) {
    
      global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
    
      if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    
      return (db_check_error(@mysql_query($q, CONN), $q));
    }
    
    function db_result ($erg, $zeile=0, $spalte=0) {
      return (mysql_result ($erg,$zeile,$spalte));
    }
    
    function db_fetch_assoc ($erg) {
      return (mysql_fetch_assoc($erg));
    }
    
    function db_fetch_row ($erg) {
      return (mysql_fetch_row($erg));
    }
    
    function db_fetch_object ($erg) {
    
      return (mysql_fetch_object($erg));
    }
    
    function db_num_rows ($erg) {
      return (mysql_num_rows ($erg));
    }
    
    function db_last_id () {
    	return ( mysql_insert_id (CONN));
    }
    
    function db_count_query ( $query ) {
      return (db_result(db_query($query),0));
    }
    
    function db_list_tables ( $db ) {
      return (mysql_list_tables ($db, CONN));
    }
    
    function db_tablename ($db, $i) {
      return (mysql_tablename ($db, $i));
    }
    
    function db_check_erg ($erg) {
      if ($erg == false OR @db_num_rows($erg) == 0) {
        exit ('Es ist ein Fehler aufgetreten');
      }
    }
    
    function db_make_sites ($page ,$where ,$limit ,$link ,$table, $anzahl = NULL) {
    
      $hvmax = 4; // hinten und vorne links nach page
    	$maxpage = ''; if ( empty ($MPL) ) { $MPL = ''; }
    	if ( is_null ( $anzahl ) ) {
        $resultID = db_query ( "SELECT COUNT(*) FROM prefix_".$table." ".$where );
        $total    = db_result($resultID,0);
      } else {
        $total = $anzahl;
      }
      if ($limit < $total) {
    	  $maxpage = $total / $limit;
    	  if (is_double($maxpage)) {
    		  $maxpage = ceil($maxpage);
    		}
    		$ibegin = $page - $hvmax;
    		$iende  = $page + $hvmax ;
    
    	  $vgl1 = $iende + $ibegin;
    		$vgl2 = ($hvmax * 2) + 1;
    		if ( $vgl1 <= $vgl2 ) {
    		  $iende = $vgl2;
    		}
    		$vgl3 = $maxpage - ($vgl2 -1);
    		if ($vgl3 < $ibegin ) {
    		  $ibegin = $vgl3;
    		}
    
    		if ($ibegin < 1) {
    		  $ibegin = 1;
    		}
    		if ($iende > $maxpage) {
    		  $iende = $maxpage;
    		}
    		$vMPL = '';
    		if ($ibegin > 1) {
    		  $vMPL = '<a href="'.$link.'-p1">&laquo;</a> ';
    		}
    		$MPL = $vMPL.'[ ';
    		for($i=$ibegin; $i <= $iende; $i++) {
          if($i == $page) {
    				$MPL .= $i;
    			} else {
    			  $MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    			}
          if ($i != $iende) {
    			  $MPL .= ' | ';
    			}
    		}
    		$MPL .= ' ]';
    		if ($iende < $maxpage) {
    		  $MPL .= ' <a href="'.$link.'-p'.$maxpage.'">&raquo;</a>';
    		}
      }
    	return $MPL;
    
    }
    ?>




    wisst Ihr da vielleicht eine Lösung? Menüs reparieren bringt nichts...ausser das jetzt jeder Menüpunkt mit einem - aufgelistet ist unter Navigation...also 0 bis -127 .... ^.~ ...


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link


    Zuletzt modifiziert von PlastSpritzer am 13.12.2015 - 12:26:49
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.277
    Beitragswertungen
    356 Beitragspunkte
    Also du konntest den Menüpunkt anlegen, aber kannst den (oder alle?) jetzt nicht mehr verschieben oder bearbeiten?

    Wenn du einen anlegen konntest, welchen Namen hat er denn? Wenn er z.B. "'" usw. enthält, könnte es helfen den z.B. in "A" umzubenennen.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Den letzen Menüpunkt, den ich angelegt habe, habe ich den Namen Korrekturschritt gegeben...ohne sonderzeichen also ...

    Diesen menüpunkt konnte ich anlegen, aber jetzt kann ich komischerweise kein menüpunkt mehr verschieben oder bearbeiten, wo ein minuswert vor der positionsnummer steht (admin-bereich, navigation) ... und die`s betrifft meine ganze linke seite (positionen aktuell 0 bis -128) ... im rechten menü ist alles beim alten geblieben ... da kann ich alles verschieben und bearbeiten und es ist kein minuswert zusehen...


    Zuletzt modifiziert von PlastSpritzer am 13.12.2015 - 16:23:27
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Kannst du mal mit phpmyadmin (o.ä.) in der ic?_menu Tabelle nachschauen, was dort in den pos Spalten der Einträge steht?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Guten morgen,
    habe nachgeschaut...in phpMyAdmin ... unter meiner datenbank .... ic1_menu...dort stehen die menüpunkte, die auch alle links auf der website zu finden sind in einem Minuswert (0 bis -127)...die Menüpunkte, die man rechts auf der website findet, sind alle okay.

    ich könnte es doch eigentlich so lassen?! Ist bloß etwas umständlich, wenn ich einen menüpunkt anlegen will, oder einen menüpunkt verschieben will, mich in phpMyAdmin einzuloggen und dort die menüpunkte verwalte...

    aber warum ist das passiert? ^.^
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich weiß nicht, warum es passiert ist. Es sollten halt positive Werte drin stehen.

    Du könntest die Werte korrigieren mit folgender Query.

    UPDATE ic?_menu SET pos = pos + 127;


    Dann sollten sie positiv und in gleicher Reihenfolge sein, für umgekehrte Reihenfolge (also -1 wird zu 1 und -23 zu 23) müsste die Query wie folgt aussehen:

    UPDATE ic?_menu SET pos = ABS(pos);


    Danach sollte ggf. auch das Menü reparieren wieder funktionieren.

    PS: Nicht vergessen das ? in den Queries zu ersetzen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Danke für den Lösungsvorschlag ....

    wo packe ich denn das Update hin?

    Wenn ich die Zeile/Update in mysql.php packe kommt folgende Fehlermeldung:

    Parse error: syntax error, unexpected 'ic1_menu' (T_STRING) in /var/www/web1285/html/ilch/include/includes/func/db/mysql.php on line 111
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nein, die kannst du mit phpmyadmin ausführen. Da sollte es ein Reiter Query geben oder so.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Ah okay, ich glaube, ich hab es gefunden :"SQL-Befehl(e) in Datenbank ... ausführen:"

    Hab beide Updates versucht, jedoch kommen diese MySQL Meldungen:

    MySQL meldet:
    #1062 - Duplicate entry '0-1' for key 'PRIMARY'

    MySQL meldet:
    #1062 - Duplicate entry '1-1' for key 'PRIMARY'

    aber es hat sich irgendwie was getan auf der website...jetzt ist nähmlich das ganze linke menü durcheinander gewürfelt worden ... aber minuswerte stehen trotzdem noch und ich kann nichts ändern in der navigation im admin bereich traurig


    Zuletzt modifiziert von PlastSpritzer am 15.12.2015 - 19:36:01
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mhh dann hattest du auf jeden Fall doppelte Positionen drin, sorry.

    In der admin/menu.php gibt oben die Funktion zum Reparieren der Menüs, ersetze diese mal mit
    function menu_update_menupos_reparieren ($wo) {
    	$q = "SELECT pos FROM prefix_menu WHERE wo = ".$wo." ORDER BY pos ASC";
    	$e = db_query($q);
    	$i = 0;
    	while ($r = db_fetch_assoc($e)) {
    		db_query("UPDATE prefix_menu SET pos = ".$i." WHERE pos = ".$r['pos']." AND wo = ".$wo));
    		$i++;
    	}
    }


    Dann sollte das Reparieren auch wieder funktionieren.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    PlastSpritzer Mitglied
    Registriert seit
    14.11.2015
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    hab es via phpmyadmin erstmal "von Hand" wieder auf dem alten stand gebracht mit den Positionen der menüpunkte in der Navigation ... jetzt ist vorerst auch kein minuswert mehr vorhanden. neue menüpunkte konnte ich auch anlegen, ohne das wieder alles durcheinander gewirbelt wird in der Navigation...mal abwarten...wenn es aus irgendeinem Grund wieder zu diesem Fehler kommt, werde ich deinen Ratschlag nochmals aufgreifen....danke :]
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten