PHP-mysql-problem

  • PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PHP-mysql-problem

    Hier in diesem Script sind anscheinend mehrere Fehler!:

    PHP-Quellcode

    1. <?
    2. $name="test";
    3. $connect = mysql_connect("localhost", "maxda@1", "************")
    4. or die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");
    5. $selectDB = mysql_select_db("maxda@1-test", $connect)
    6. or die ("Die Datenbank existiert nicht.");
    7. $sql_string = "INSERT INTO 'tabelle' ('id', 'name')
    8. VALUES (NULL, '$name');";
    9. $ergebnis=mysql_query($sql_string, $connect);
    10. $ergebnis=0;
    11. $sql_string = "SELECT * FROM 'tabelle';";
    12. $ergebnis = mysql_query($sql_string, $connect);
    13. for (i=0; i<100; i+=1))
    14. {
    15. echo mysql_result($ergebnis,0,"id")
    16. echo mysql_result($ergebnis,0,"name"),"<br>"
    17. }
    18. mysql_close($connect);
    19. ?>
    Alles anzeigen

    Also ich habe einen Account bie kilu.de und habe eine und in der mysql tabelle gibt es zwei spalten, id (auto_increment) und name.
    In das Feld name sollte eigentlich dann der Wert einer Variable ingetragen werden, aber es kommt dieser Fehler:


    Parse error: syntax error, unexpected '=', expecting ';' in /data/apache/users/kilu.de/maxda/www/in-arbeit.php on line 22

    Vielen Dankl im vorraus,
    maxda
  • Ja, sind. ;D
    In PHP muss ein Befehl immer mit einem ';' abgeschlossen werden.

    PHP-Quellcode

    1. <?
    2. $name="test";
    3. $connect = mysql_connect("localhost", "maxda@1", "************");
    4. or die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");
    5. $selectDB = mysql_select_db("maxda@1-test", $connect);
    6. or die ("Die Datenbank existiert nicht.");
    7. $sql_string = 'INSERT INTO "tabelle" ("id", "name")
    8. VALUES (NULL, '$name');';
    9. $ergebnis=mysql_query($sql_string, $connect);
    10. $ergebnis=0;
    11. $sql_string = 'SELECT * FROM "tabelle";';
    12. $ergebnis = mysql_query($sql_string, $connect);
    13. for (i=0; i<100; i++)
    14. {
    15. echo mysql_result($ergebnis,0,"id");
    16. echo mysql_result($ergebnis,0,"name") . "<br>";
    17. }
    18. mysql_close($connect);
    19. ?>
    Alles anzeigen
    fabse64 -> haiyyu
  • hast du auch "************"
    durch "dein passwort"
    ersetzt :?:

    edit: mach mal hinter

    PHP-Quellcode

    1. $connect = mysql_connect("localhost", "maxda@1", "************");

    das ";" weg
  • maxda schrieb:

    Jetzt kommt:


    Parse error: syntax error, unexpected T_LOGICAL_OR in /data/apache/users/kilu.de/maxda/www/in-arbeit.php on line 6

    PHP-Quellcode

    1. $connect = mysql_connect("localhost", "maxda@1", "************")
    2. or die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");


    Hier braucht es kein Semikolon, da das "or die" noch dazugehört!

    Genau so auch bei Zeile 8.
  • Meiner bescheidenen Meinung nach ist das so wie es da steht doch syntaktisch Unsinn.

    PHP-Quellcode

    1. if not ($connect = mysql_connect("localhost", "maxda@1", "************"))
    2. die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");


    Or ist ein Element das zwei Wahrheitswerte logisch miteinander verbindet, keine Funktion (in PHP).
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Das ist ein oft angewandter Trick um sich eine if-Abfrage zu ersparen. Das "or" wertet nämlich nur den zweiten Teil aus, wenn der erste fehlschlägt. Gibt die erste Bedingung true zurück ist der Wert insgesamt automatisch auch true und PHP wertet den zweiten Teil aus Performancegründen nicht aus.
  • Tobi97 schrieb:

    hast du auch "************"
    durch "dein passwort"
    ersetzt :?:

    Sooooooooooooooooooooooo blöd bin ich nun auch wieder nicht!!!



    flogy schrieb:



    maxda schrieb:

    Jetzt kommt:




    Parse error: syntax error, unexpected T_LOGICAL_OR in /data/apache/users/kilu.de/maxda/www/in-arbeit.php on line 6

    PHP-Quellcode

    1. $connect = mysql_connect("localhost", "maxda@1", "************")
    2. or die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");


    Hier braucht es kein Semikolon, da das "or die" noch dazugehört!

    Genau so auch bei Zeile 8.
    Ja genau, bei meinem Versuch hat es aber trotzdem nicht geklappt!
  • Hmm, müsste nicht in dieser Zeile

    PHP-Quellcode

    1. for (i=0; i<100; i++)
    jeweils vor den Variabeln ein $ hin. Sprich

    PHP-Quellcode

    1. for ($i=0; $i<100; $i++)
    In meiner psychisch soziologischen Konstellation, manifestiert sich die absolute Dominanz positiver Impressionen meines Individuums.
    Kurz: Ich bin geil!

  • Lunar schrieb:

    Hmm, müsste nicht in dieser Zeile

    PHP-Quellcode

    1. for (i=0; i<100; i++)
    jeweils vor den Variabeln ein $ hin. Sprich

    PHP-Quellcode

    1. for ($i=0; $i<100; $i++)


    Ja, das stimmt! Jetzt habe ich das so:
    Spoiler anzeigen

    PHP-Quellcode

    1. <?
    2. $name="test";
    3. $connect = mysql_connect("localhost", "maxda@1", "*******")
    4. or die ("Konnte keine Verbindung zum Datenbankserver aufbauen!");
    5. $selectDB = mysql_select_db("maxda@1-test", $connect)
    6. or die ("Die Datenbank existiert nicht.");
    7. $sql_string = "INSERT INTO tabelle (id, name)
    8. VALUES (NULL, $name);";
    9. $ergebnis=mysql_query($sql_string, $connect);
    10. $ergebnis=0;
    11. $sql_string = 'SELECT * FROM "tabelle";';
    12. $ergebnis = mysql_query($sql_string, $connect);
    13. for ($i=0; $i<100; $i++)
    14. {
    15. echo mysql_result($ergebnis,$i,"id");
    16. echo mysql_result($ergebnis,$i,"name") , "<br>";
    17. }
    18. mysql_close($connect);
    19. ?>
    Alles anzeigen
    und es klaptt trotzdem nicht!
    Es kommt diese Fehlermeldung:
    Spoiler anzeigen

    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/maxda/www/in-arbeit.php on line 24

    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/maxda/www/in-arbeit.php on line 25


    (Nur halt 100 mal wegen der for schleife!)
  • Ersetzt du Tabelle in der SQL Abfrage auch korrekt, kommen da auch Daten zurück die überhaupt auswertbar sind? Wenn du eine Tabelle abfragst die es nicht gibt kann beispielsweise dieser Fehler entstehen.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • maxda schrieb:

    Hehe, meine Tabelle heißt ja "tabelle"! :D

    Also habe jetzt bei der SELECT Anfrage die Anführungszeichen um um "tabelle" weggemacht, das klappt jetzt auch, und der Wert der Vorher schon drin war wird auch angezeig, aber das mit dem INSERT funktioniert noch nicht!
    Ist ja völlig logisch! Du gibst ja auch keine Variable, sondern den String $name ein. Das geht natürlicht...

    PHP-Quellcode

    1. $sql_string = "INSERT INTO tabelle (id, name)
    2. VALUES (NULL, '".$name."');";

    So musst du das machen.

    Ich denke, du solltest dir mal ein paar Grundkenntnisse in PHP aneignen und nicht gleich hier fragen, denn das waren jetzt alles Dinge, die du dir wahrscheinlich schon nach einem Mini-PHP-Tutorial selbst hättest beantworten können...


    MfG flogy
  • Es ist nicht so, das ich über keine PHP-kentnisse verfüge! :S
    Nur wie ich eine Variable in eine MYSQL anweisung einbinde wusste ich halt nicht! ;(
    Ich habe auch schon im Internet nachgeschaut, und auch diese Lösung gefunden, nur geklappt hat es da nicht!!! :cursing:
    Auf jeden fall klappt es jetzt! :thumbup:
    Vielen Dank an alle, die geantwortet haben! :thumbup: