PHP Skript bekommt keine Verbindung zur Datenbank

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Bene, 27.07.2003.

  1. Bene

    Bene Thread Starter MacUser Mitglied

    Beiträge:
    20
    Zustimmungen:
    0
    MacUser seit:
    22.07.2003
    einfachstes PHP-Script läuft nicht...

    Hi Forum,
    habe hier ein kleine Datei die eine Datenbank mit 100 Einträgen (Inhalt egal) füllen soll.
    ________________________
    <?php
    $server ="localhost";
    $user ="root";
    $pwd ="geheim";
    $db ="passion4fruit";
    if(!$db_handle = @mysql_pconnect($server,$user,$pwd)) {
    echo"Die Datenbank steht nicht zur Verfugung<br>";
    exit("");
    }
    mysql_select_db($db);

    for($i=1; $i<=100; $i++) {
    $result = mysql_query("INSERT INTO p4f_content_db SET id='$i',
    heading='test'");
    }
    if($result)
    print "geschafft!...";
    ?>
    _________________________
    Leider treten immer wieder Fehler auf. Die Datei kann nicht ausgeführt werden. Wo bitte ist ein PARSE-ERROR????
    Und warum geht localhost nicht????
    Ich versteh gar nix mehr und würde mih sehr über Hilfe freuen...
    __________________________
    Wenn ich die Datei in PhpMyAdmin aufrufe:

    Datenbank passion4fruit auf localhost
    Fehler
    SQL-Befehl_:_
    <?php
    $server ="localhost"
    MySQL meldet:
    You have an error in your SQL syntax near '<?php
    $server ="localhost"' at line 1
    __________________________
    Wenn ich sie einfach im Browser ausführe:

    Parse error: parse error in /Library/WebServer/Documents/passion4fruit/done.php on line 15
     
  2. Eistee

    Eistee MacUser Mitglied

    Beiträge:
    55
    Zustimmungen:
    0
    MacUser seit:
    05.06.2003
    Hi Bene,

    schau Dir mal den Befehl "mysql_connect" an, Du hast da "mysql_pconnect"
    stehen.

    Ich hoffe, ich konnte Dir helfen.


    Flo


    edit: Ups ... vergiss meinen Beitrag einfach, ok?! Habe gerade mal
    nachgeschaut und dabei ist mir aufgefallen, dass es den Befehl doch gibt.
     
  3. Eistee

    Eistee MacUser Mitglied

    Beiträge:
    55
    Zustimmungen:
    0
    MacUser seit:
    05.06.2003
    Ich bin's nochmal ...

    also, da scheint etwas mit Deiner Datenbank, bzw. mit Deinem Server nicht
    zu stimmen. Ich habe das Skript bei mir getestet (ebenfalls lokal) und es
    funktioniert ohne Probleme.


    Flo
     
  4. Bene

    Bene Thread Starter MacUser Mitglied

    Beiträge:
    20
    Zustimmungen:
    0
    MacUser seit:
    22.07.2003
    komisch...

    Hallo Eistee,
    danke für die fixe Antwort - jetzt stellt sich nur die Frage was an meiner Datenbank falsch sein könnte...

    Mhhhmmmm, naja danke jedenfalls.

    Hahaha carro ich habe einfach mal das p bei connect wechgelassen und es ging...

    Ich hatte das vorher auch ohne p - habe schon so oft rumprobiert gehabt. Leider weiß ich jetzt nicht warum es vorher nicht ging. Typisch.
    Naja es ging jetzt auf jeden Fall....

    D A N K E
     
    Zuletzt bearbeitet: 27.07.2003
  5. Eistee

    Eistee MacUser Mitglied

    Beiträge:
    55
    Zustimmungen:
    0
    MacUser seit:
    05.06.2003
    Was ja nicht aus Deinem Beitrag genau hervorgeht ist, welches diese
    Zeile 15 ist, in der der Fehler liegt. Vielleicht kannst Du mir die noch mal
    schreiben?!


    Flo
     
  6. Grady

    Grady MacUser Mitglied

    Beiträge:
    2.277
    Zustimmungen:
    0
    MacUser seit:
    25.04.2003
    IN PHPMyAdmin kann man keinen Code laufen lassen. Es können nur SQL-Abfragen gemacht werden. Wenn man noch zusätzlich <?php einbaut, kann das nur schief gehen.

    Mach doch die Verbindung mit dem Server anstatt mit if() über or die "message".
     
  7. Bene

    Bene Thread Starter MacUser Mitglied

    Beiträge:
    20
    Zustimmungen:
    0
    MacUser seit:
    22.07.2003
    frage hat sich schon erledigt - Datenbankverbing läuft (siehe geänderter Beitrag von mir - der mit der hüpfenden karotte)
    Aber:
    Mich würde interessieren, wie ich das in PhpMyAdmin direkt eingeben kann.
    INSERT INTO 'p4f_content_db' SET 'heading'='test'
    nur wie geht dann die schleife?
    Er soll ja 100 Datensätze anlegen.
     
  8. Eistee

    Eistee MacUser Mitglied

    Beiträge:
    55
    Zustimmungen:
    0
    MacUser seit:
    05.06.2003
    Na, das ist doch mal 'ne gute Nachricht.

    Das mit der Schleife funktioniert meines Wissens, wie Grady
    bereits erwähnt hatte, nicht mit PHPMyAdmin. Hier kannst Du
    lediglich normale SQL Befehle eingeben, die dann abgearbeitet
    werden.

    Vielleicht gibt es ja einen SQL Befehl, der wie eine Schleife
    funktioniert?!


    Flo
     
  9. Grady

    Grady MacUser Mitglied

    Beiträge:
    2.277
    Zustimmungen:
    0
    MacUser seit:
    25.04.2003
    Dafür gibt es ja PHP. :)

    a) Man tippt den ganzen Kram ein:
    INSERT INTO 'p4f_content_db' SET 'id=1', 'heading'='test'
    INSERT INTO 'p4f_content_db' SET 'id=2', 'heading'='test'
    INSERT INTO 'p4f_content_db' SET 'id=3', 'heading'='test'
    INSERT INTO 'p4f_content_db' SET 'id=4', 'heading'='test'
    .
    .
    .
    INSERT INTO 'p4f_content_db' SET 'id=100', 'heading'='test'


    b) Es wird von PHP generiert und in eine Textfile geschrieben, die dann eingefügt wird. Erweiterte Inserts sind natürlich auch möglich und sparen bei vielen Daten Zeit und Speicher.


    Wenn man öfters solche Arbeiten zu erledigen hat, dann empiehlt sich eine PHP-Klasse für SQL-Funktionen.
     
Die Seite wird geladen...

Diese Seite empfehlen