Link aus Datenbank abrufen

  • Hallo


    hab ein Problem, ich möchte gerne aus einer Datenbank Links zum Internen verlinken einer Seite abrufen, um so die Navigationsleiste zu optimieren.

    Dennoch klappt das nicht.


    PHP
    <div id="Navleiste" style="position: absolute; width: 1000px; height: 40px; top:70px; left:0px; z-index: 1">
    <?php
        $les = mysqli_query($cxn,"SELECT `id`, `Hompage`, `Produkte`, `Über uns`` FROM `interne seitenverknüpfungen` WHERE id=1");
       $low=mysql_fetch_array($les);
    ?>
    <a href="<?php echo  $low['Hompage'];  ?>" class="details">Startseite</a>&nbsp;<a href="<?php echo  $low['Produkte'];  ?>"class="details" >Produkte</a>&nbsp;<a href="<?php echo  $low['Über uns'];  ?>" class="details">Über uns</a>
    </div>

    Kann mir einer Helfen

  • Du solltest erstmal das mysql wegverfen und auf mysqli umstellen oder pdo. Wenn du Php 7 verwendest wird der Code sowieso nicht gehen weil Php 7 nicht mehr mit mysql arbeitet.

    Edit: Du solltest mysql und mysqli nicht Mischen weil das geht soweiso nicht .

  • Die Fehermeldung kann man googlen. Man stößt dann mit einer Wahrscheinlichkeit von ca. 99.8% auf die Lösung, dass mysqli_query() keine gültige Resource zurückgibt. Dazu hilft dann die Doku weiter.


    Was also tun?

    Einfach mal die Query manuell bspw. über phpMyAdmin ausführen und schauen, was da passiert.

    Alternativ, aber immer erwähnenswert: Fehlerbehandlung auch für MySQLi berücksichtigen bzw. anwenden.


    PS: ein syntaktischer Fehler ist übrigens in der Query bereits sehr offensichtlich erkennbar

  • Du meinst sowas: $low['Über uns'];? Das ist erlaubt, ja. PHP lässt ziemlich viel zu, wenn es um die Benennung von Schlüssel geht, u.a. auch Sonderzeichen.

    Ich bin mir allerdings nicht ganz sicher, ob MySQL das auch als Spaltenbezeichner zulässt...


    EDIT: Gerade mal geschaut, MySQL erlaubt das auch, wenn man den Bezeichner in Backticks setzt, was der TE ja getan hat.

    Trotzdem gibt es immer noch einen syntaktischen Fehler an der Stelle.

  • Man sollte grundsätzlich auf Leerzeichen und Umlaute bei Tabellen- und Spaltennamen verzichten und auch auf Groß/Kleinschreibung.


    Weiterhin wäre hilfreich, wenn man mal MySQL fragt, was da nicht stimmt, Stichwort mysqli_error

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!