Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Problem mit die()

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brease
    hat ein Thema erstellt PHP-Problem mit die().

    PHP-Problem mit die()

    Hi PHP'ler.
    Ich habe ein Problem mit folgenden Skript:
    PHP-Code:
            //Befehl zum Erstellen der Datenbank ausführen, oder Skript abbrechen
           
    $get_db=mysql_query($create_db) or die("Die Datenbank konnte leider nicht erstellt werden.
    \n"
    );
           if(
    $get_db==true) {
              echo 
    "Die Datenbank wurde erfolgreich angelegt!
    \n"
    ;
           }
           
    //Nachdem die Datenbank erstellt wurde, Verbindung zu ihr aufbauen, oder Skript abbrechen
           
    mysql_select_db("adressbuch"$mysql_connect) or die("Die Datenbank wurde nicht gefunden!");
           
    //Wen Verbindung steht, Befehl zum Erstellen der Tabelle ausführen
           
    $get_tb=mysql_query($create_tb) or die("Die Tabelle konnte leider nicht erstellt werden.
    \n"
    );
           if(
    $get_tb==true) {
              echo 
    "Die Tabelle wurde erfolgreich angelegt!
    \n"
    ;
           } 
    Wie ihr vielleicht seht bricht das Skript ab, wen die DB nicht erstellt werden kann. Also wird
    der Teil nicht ausgeführt, wo die Tabelle erstellt werden soll. Gibt es eine Möglichkit das er das trotzdem
    macht, auch wenn die DB nicht erstellt werden konnte?

  • Brease
    antwortet
    Zitat von xabbuh
    Sofern es Dich nicht interessiert, dass es dieTabelle schon gab und Du einfach nur willst, dass das Skript weiterläuft, ist das ein super Tipp.
    Ja. Ich will nur, dass das Script schön brav weiterläuft. Und da es das jetzt ja tut bin ich zufrieden, und bedanke mich noch bei meinen Helfern zum Dritten.

    Danke, danke, danke

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    [quote="Bruchpilot"]
    Zitat von xabbuh
    Sofern es Dich nicht interessiert, dass es dieTabelle schon gab und Du einfach nur willst, dass das Skript weiterläuft, ist das ein super Tipp.
    Kommt natürlich immer darauf an, was genau man vor hat. Wenn man nicht aufpasst, kann es natürlich auch schnell passieren, dass zwar eine Tabelle existiert, die den gleichen Namen aber eine völlig andere Struktur hat.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von xabbuh
    Du kannst übrigens auch einfach den Zusatz IF NOT EXISTS in deiner CREATE TABLE-Abfrage verwenden. Dann wird die Tabelle nur angelegt, wenn sie noch nicht existiert und MySQL liefert keinen Fehler.
    Sofern es Dich nicht interessiert, dass es dieTabelle schon gab und Du einfach nur willst, dass das Skript weiterläuft, ist das ein super Tipp.
    Ich bin mir sicher, das willst Du. Schnell und einfach.

    Einen Kommentar schreiben:


  • Brease
    antwortet
    Danke an alle (geduldigen) Helfer es funktioniert jetzt nach ein paar kleineren Änderungen!

    Einen Kommentar schreiben:


  • Brease
    antwortet
    danke erstmal, ich probier es mal aus, und wenn es nicht klappt schreib ich nochmal

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Du kannst übrigens auch einfach den Zusatz IF NOT EXISTS in deiner CREATE TABLE-Abfrage verwenden. Dann wird die Tabelle nur angelegt, wenn sie noch nicht existiert und MySQL liefert keinen Fehler.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich mach für heute Schluß.
    Viel Spaß mit dem Code.
    PHP-Code:
    <?php
    //Verbindung zu MySQL herstellen
    $mysql_connect=@mysql_connect("localhost""Facharbeit""mysqlatme") or die("Es konnte entweder keine Verbindung zum Host, oder zum Benutzer hergestellt werden.");

    //Befehl zum Erstellen der Datenbank im Array speichern
    $create_db="CREATE DATABASE `adressbuch`";
    //Befehl zum Erstellen der Tabelle (mit Feldern) im Array speichern
    $create_tb="
            CREATE TABLE `kontakte` (
            `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
          `Geschlecht` VARCHAR(4) NOT NULL,
          `Auszeichnung` VARCHAR(20) NOT NULL,
          `Name` VARCHAR(65) NOT NULL,
                `Spitzname` VARCHAR(10) NOT NULL,
                `Verheiratet` VARCHAR(4) NOT NULL,
                `Kinder` VARCHAR(4) NOT NULL,
                `Telefonnummer (Privat)` VARCHAR(30) NOT NULL,
                `Telefonnummer (Geschäftlich)` VARCHAR(30) NOT NULL,
                `Fax` VARCHAR(30) NOT NULL,
                `E-Mail` VARCHAR(30) NOT NULL,
                `Website` VARCHAR(30) NOT NULL,
                `Gruppe` VARCHAR(15) NOT NULL,
                `Eingetragen am` VARCHAR(30) NOT NULL,
                `Notiz` TEXT  NOT NULL
        )"
    ;
    //Befehl zum Erstellen der Datenbank ausführen
    $get_db=mysql_query($create_db);
    // wenn alles gut geht, liefert mysql_query true zurück
    if($get_db==true) {
        echo 
    "Die Tabelle wurde erfolgreich angelegt!
    \n"
    ;
    }
    // Wenn die Tabelle bereits bestand, liefert mysql_errno() 1050
    else if (mysql_errno()==1050) {
        echo 
    "Die Tabelle bestand bereits. Das Skript wird fortgesetzt!
    \n"
    ;
    }
    // sonstige Fehler führen mit der Augabe der Fehlermeldung zum Abbruch.
    else {
        die(
    mysql_error());
    }
    //Nachdem die Datenbank erstellt wurde, Verbindung zu ihr aufbauen, oder Skript abbrechen
    mysql_select_db("adressbuch"$mysql_connect)
    ?>

    Einen Kommentar schreiben:


  • Brease
    antwortet
    Bei "$get_db=mysql_query($create_db)" sende ich die Anfrage zu MySQL.
    Und bei " and echo "mysql_errno($mysql_connect) : mysql_error($mysql_connect)"
    habe ich versucht die Fehlermeldung ausgeben zulassen mit der Fehlernummer. Hat aber nicht geklappt. Also wußte ich nicht, was ich jetzt machen soll, da ich schlecht einen Vergleich aufstellen kann, wo ich mir nicht sicher bin was dort passiert.
    @xabbuh: das war gerade mein letzter Versuch

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von Brease
    PHP-Code:
    <?php
           $get_db
    =mysql_query($create_db) and echo "mysql_errno($mysql_connect) : mysql_error($mysql_connect)";
    ?>
    Du kannst keine Funktionen innerhalb einer Zeichenkette aufrufen. Deswegen sah die von dir oben weiter gepostete Ausgabe auch so aus. Die Funktion wurde nicht ausgeführt, sondern nur als Zeichenkette interpretiert und ausgegeben. Und was soll das and da?
    Richtig wäre es z.B. so:
    PHP-Code:
    <?php
        $get_db 
    mysql_query($create_db) or die(mysql_errno($mysql_connect) . ' : ' mysql_error($mysql_connect));
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ok, jetzt brösel mal bitte
    $get_db=mysql_query($create_db) and echo "mysql_errno($mysql_connect) : mysql_error($mysql_connect)";
    in seine einzelnen Bestandteile auf und erkläre sie. Was soll da passieren?
    Wie bist Du denn auf diese Zeile gekommen? Wo kommt da was von 1050 vor? Wo ist pberhaupt ein Vergleich?
    Bitte erkläre mir Deine Gedankengänge, da ich sonst einfach nicht weiss, wie man Dir helfen soll.

    Einen Kommentar schreiben:


  • Brease
    antwortet
    besser?

    Einen Kommentar schreiben:


  • Brease
    antwortet
    PHP-Code:
    <?php
           
    //Verbindung zu MySQL herstellen
           
    $mysql_connect=@mysql_connect("localhost""Facharbeit""mysqlatme") or die("Es konnte entweder keine Verbindung zum Host, oder zum Benutzer hergestellt werden.");
           
    //Befehl zum Erstellen der Datenbank im Array speichern
           
    $create_db="CREATE DATABASE `adressbuch`";
           
    //Befehl zum Erstellen der Tabelle (mit Feldern) im Array speichern
           
    $create_tb="CREATE TABLE `kontakte` (
                       `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
                       `Geschlecht` VARCHAR(4) NOT NULL,
                       `Auszeichnung` VARCHAR(20) NOT NULL,
                       `Name` VARCHAR(65) NOT NULL,
                       `Spitzname` VARCHAR(10) NOT NULL,
                       `Verheiratet` VARCHAR(4) NOT NULL,
                       `Kinder` VARCHAR(4) NOT NULL,
                       `Telefonnummer (Privat)` VARCHAR(30) NOT NULL,
                       `Telefonnummer (Geschäftlich)` VARCHAR(30) NOT NULL,
                       `Fax` VARCHAR(30) NOT NULL,
                       `E-Mail` VARCHAR(30) NOT NULL,
                       `Website` VARCHAR(30) NOT NULL,
                       `Gruppe` VARCHAR(15) NOT NULL,
                       `Eingetragen am` VARCHAR(30) NOT NULL,
                       `Notiz` TEXT  NOT NULL
                        )"
    ;
            
    //Befehl zum Erstellen der Datenbank ausführen, oder Skript abbrechen
           
    $get_db=mysql_query($create_db) and echo "mysql_errno($mysql_connect) : mysql_error($mysql_connect)";
           if(
    $get_db==true) {
              echo 
    "Die Datenbank wurde erfolgreich angelegt!
    \n"
    ;
           }
           
    //Nachdem die Datenbank erstellt wurde, Verbindung zu ihr aufbauen, oder Skript abbrechen
           
    mysql_select_db("adressbuch"$mysql_connect)
           
    //Wen Verbindung steht, Befehl zum Erstellen der Tabelle ausführen
           
    $get_tb=mysql_query($create_tb) and echo "mysql_errno($mysql_connect) : mysql_error($mysql_connect)";
           if(
    $get_tb==true) {
              echo 
    "Die Tabelle wurde erfolgreich angelegt!
    \n"
    ;
           }
          
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Dann hast Du den Code einfach falsch eingebaut und einen syntax error reingefriemelt.
    Was sollen wir Dir jetzt dazu sagen, ausser dass unsere Glaskugeln zum Hellsehen mal wieder in der Reinigung sind?

    EDIT: Mann, her mit dem Code. Poste nicht weniger als 20 zusammenhängende Zeilen Deines Skripts rund um die betroffene Stelle. Sonst ist das hier Zeitverschwendung.

    Einen Kommentar schreiben:


  • Brease
    antwortet
    wen ich das in den code mit eingebaut hat(mit and) hat er mir eine Fehlermeldung angezeigt.
    Parse error: parse error in D:\Multimedia\XAMPP\xampp\htdocs\xampp\Facharbeit\ setup.php on line 63

    EDIT:Nach $get_db=mysql_query($create_db) und $get_tb=mysql_query($create_tb)

    Einen Kommentar schreiben:

Lädt...
X