Fehler bei Datenbankabfrage

  • Ich hab nen Fehler in meinem Script...(http://mooo128.mo.funpic.de/sv/upload/index.php)
    [php:1:3ee91048a8]
    <?
    include("config.php");


    $seite = $_GET['seite'];
    if(!isset($seite))
    {
    $seite = "index";
    }

    $abfrage = "SELECT name, id, text FROM ´sv_page´ WHERE ´name´ LIKE '$seite' LIMIT 1 ";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo "$row->text";
    }
    echo "

    <center><font size=-1 color=>&copy; by Yngvar & SV-Team der Realschule Rockenhausen</font></center>";
    ?>
    [/php:1:3ee91048a8]

  • ungeachtet dem das dein SQL text nicht gerade perfeckt ist, würde ich sagen, das du keine verbindung zur DB hast.

    Code
    $abfrage = "SELECT `name`, `id`, `text` FROM ´sv_page´ WHERE ´name´ LIKE '".$seite."' LIMIT 1 ";

    und was noch schwachsin ist, das du ein LIMIT 1 verwendest und danach dein abfrage in eienr While schleife. eins von beiden kannst du dir klemmen.

  • [php:1:a2cfc816f8]
    <?
    $server = "localhost";//der Servername(meist localhost)
    $usr = "***";//Deine Username
    $pss = "***";//dein Passwort
    $db = "***";//Name der Datenbank
    $verbindung = mysql_connect ("$server",
    "$usr", "$pss")
    or die ("keine Verbindung möglich.
    Benutzername oder Passwort sind falsch");

    mysql_select_db("$db")
    or die ("Die Datenbank existiert nicht.");
    ?>
    [/php:1:a2cfc816f8]

    So sieht der Code der config.php Datei aus


    Gibt es noch eine andere Möglichkeit um meine Datenbank auszulesen? Bzw. für den Verbindungsaufbau?

  • [php:1:560881a69f]
    <?PHP
    include("config.php");


    $seite = $_GET['seite'];
    if($seite=!"")
    {
    $seite = "index";
    }

    $abfrage = "SELECT `name`, `id`, `text` FROM `sv_page` WHERE `name`= '".$seite."' LIMIT 1;";
    $ergebnis = mysql_query($abfrage, $verbindung);
    $row=mysql_fetch_array($ergebnis);
    echo $row['text'];

    ?>
    <br \>
    <br \>
    <center>
    <font size=-1 color=>
    &copy; by Yngvar & SV-Team der Realschule Rockenhausen
    </font>
    </center>
    [/php:1:560881a69f]

    mache es mal so.

    dein SQL syntax hatte doch eine Fehler!!!

    ´ und ` sind 2 unterschiedlieche Zeichen :roll:

  • die DB Verbindung stimmt wahrscheinlich, da sonst der Fehler nicht erst in Zeile 14 auftreten würde.

    Existieren die Felder name, id, text und die Tabelle sv_page?

    PS.. Feld- und Tabellennamen namen brauchen in den SQL Queries keine ´ oder ähnlich:

    Code
    $abfrage = "SELECT name, id, text FROM sv_page WHERE name LIKE '" . $seite . "' LIMIT 1";
  • Du hastn Fehler im Quelltext...

    '".$seite."' LIMIT 1;"; musss so heisen: '".$seite."' LIMIT 1";

  • man wenn ihr alels besser wist, dann kann ic hmir das Posten ja sparen!!!!!!!!!!11

    versuche es doc heinfach, und heult mic hnicht zu wenn ihr es falsch gelehrt habt!!! das semikolon gehört an ende jeder mysql abfrage!!!!!!!!!!

    wenn du es nicht glaubst, dan versuche dich doch mal mit ner mysql_console da musst du nämlich mysql ohne fehler schreiben

  • Zitat von GreenRover

    @ baloo: das ist ein Falschaussage!!!

    `forum user` brauchst du sie schon!!

    man macht auch keine leerzeichen in feldnamen.. :P

    Übrigens stimmt es, dass nach jeder Zeile ein Semikolon folgen muss.
    Jedoch nur in der Konsole - in PHP nicht.
    Deshalb können 2 Queries auch nicht gemeinsam durchgeführt werden.

    [php:1:3e58273d5b]<?php
    mysql_query("BEGIN; SELECT * FROM tabelle")
    ?>[/php:1:3e58273d5b]
    ist falsch, die Abfragen müssen getrennt erfolgen:
    [php:1:3e58273d5b]<?php
    mysql_query("BEGIN");
    mysql_query("SELECT * FROM tabelle");
    ?>[/php:1:3e58273d5b]

    konsole != php


    ohne gewähr :P

  • stimmt, aber man sollte es trodzdem setzen, da es sonst mit einigen PHP mysql kombinationen probleme geben kann.

    Deshalb, immer gleich richtig schreiben! Sparrt eine menge zeit und Ärger später.

    Und die Abostroff, macht man ja nicht nur wegen den leerzeichen. Deshalb solltem an auch diese setzen.

  • Zitat von GreenRover

    Und die Abostroff, macht man ja nicht nur wegen den leerzeichen. Deshalb solltem an auch diese setzen.


    Also ganz allgemein verwende ich ebenfalls keine `für die Tabellenattribute. Jedoch hatte ich (soweit ich mich richtig erinnere) auch schon Probleme ohne diese Dinger. Ich glaub es wurde durch PHP-Settings statt z.B.

    Code
    ... WHERE mainid=4 ...
    sowas an mySQL übergeben
    ... WHERE MAINID=4 ...


    Das hatte auch ne ganze Weile gedauert den Fehler zu finden. Zumindest funktionierte es dann, als ich

    Code
    ... WHERE `mainid`=4 ...


    verwendete.

    Bisher trat dieser Fehler jedoch nicht mehr auf und ich baue die `auf jeden Fall bei der Übergabe von WHERE-Parametern ein.

    Naja, müsste man mal direkt austesten woran sowas liegt...

    "Carpe Diem" powered by positiv Feelings