- MySQL Daten in eine MySQL Datenbank schreiben

  • PHP

Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von Link275.

    Hi,

    nimm doch als query einfach nur

    SQL-Abfrage

    1. SELECT * FROM `dvds` WHERE `id` = '1'
    (für den Fall dass du eine Spalte "id" hast und ein Datensatz davon den Wert "1". Oder du schreibst nur

    SQL-Abfrage

    1. SELECT * FROM `dvds`
    und lässt dir alle Datensätze anzeigen. Es sind doch welche drin oder?


    Link
    Hello World
    Denke noch nicht :D

    Ich will ja übers internet die DVDs zur Datenbank hinzufügen.

    Ich habe hier mal den Code der datei add.php (das wichtigste)

    HTML-Quellcode

    1. <?php include('auth.php'); ?>
    2. <?php include('header.html'); ?>
    3. <?php
    4. $name = $_GET['name'];
    5. $altersfrg = $_GET['altersfrg'];
    6. $dauer = $_GET['dauer'];
    7. $more = $_GET['more'];
    8. $schausp = $_GET['schauspieler'];
    9. @mysql_connect("88.198.21.133", "mein Username :D", "mein passwort :D");
    10. $query = "`Infos``Schauspieler``Dauer``Altersbeschränkung``Name``Nummer`SELECT * FROM `dvds` WHERE 1";
    11. $res = @mysql_query($query);
    12. while($row = @mysql_fetch_assoc($res)){
    13. echo var_dump($row) . "<br>";
    14. echo 'Hat Funktioniert!';
    15. }
    16. ?>
    17. //[...]
    18. // Hier sende ichs an das gleiche dokument, welches die daten verarbeitet
    19. <form name="add" action="add.php">
    20. //[...]
    21. <input type="reset" name="Abbrechen" id="Abbrechen" value="Abbrechen" onclick="javascript:add();">
    22. <input type="submit" name="Hinzufügen" id="Hinzufügen" value="Hinzuf&uuml;gen">
    23. <br>
    24. </p>
    25. </form>
    26. </td>
    27. <?php
    28. include('footer.html');
    29. ?>
    Hi,

    schreib mal die Stelle oben um in:

    PHP-Quellcode

    1. $query = "`Infos``Schauspieler``Dauer``Altersbeschränkung``Name``Nummer`SELECT * FROM `dvds` WHERE 1";
    2. $res = @mysql_query($query);
    3. if($res){
    4. while($row = @mysql_fetch_assoc($res)){
    5. echo var_dump($row) . "<br>";
    6. echo 'Hat Funktioniert!';
    7. }
    8. }else{
    9. echo "<p>Es ist ein Fehler aufgetreten: " . mysql_error() . "</p>";
    10. }


    Außerdem, ich sehe ein </td> obwohl ich keine Tabelle finde (<table> ..... </table>).

    Das hier:

    Quellcode

    1. //[...]
    2. // Hier sende ichs an das gleiche dokument, welches die daten verarbeitet

    kann nicht funktionieren, weil Kommentare dieser Art außerhalb von PHP nicht funktionieren.
    HTML-Kommentare: <!-- Das ist ein Kommentar -->
    PHP-Kommentare:

    PHP-Quellcode

    1. /* Das ist ein
    2. mehrzeiliger
    3. Kommentar*/
    4. //Das ist ein einzeiliger Kommentar


    Weiterhin sind die vielen PHP-Tags (<?php und ?>) oben unnötig, das kann alles in einen Block.

    Dann: der Query ist immer noch unsinnig. Ich weiß nicht welche Spalten in deiner Tabelle Pflichtfelder sind, aber mal angenommen nur "Infos" und "Schauspieler" sind Pflichtfelder, dann schreib in deinem Code mal irgendwo folgendes:

    PHP-Quellcode

    1. $query = "INSERT INTO `dvds` (`Infos`, `Schauspieler`) VALUES ('Hier stehen Informationen', 'Moritz Bleibtreu und Jürgen Vogel')";
    2. $res = @mysql_query($query);
    3. if(!$res){
    4. echo "Daten konnten nicht eingetragen werden. Fehlermeldung: " . mysql_error();
    5. }


    Und noch paar andere Kleinigkeiten. Ich denke du musst dringend noch die Grundlagen zu HTML und PHP und MySQL lernen, bevor du überhaupt großartig starten kannst.

    Link :thumbup:
    Hello World
    Wenn ich mir das so ansehe, dann fehlen da wohl die elementarsten Kenntnisse in Sachen PHP und MySQL. Ich will dir damit nicht zu nahe treten, aber dir viellleicht nahelegen, dich erstmal mit der Materie zu beschäftigen, anstatt gleich irgendein Projekt anzufangen.

    Man beachte beispielhaft die überflüssigen Doppeltags am Anfang, die sinnlose Query und die Nutzung von mysql_*-Funktionen.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Ich muss gestehen, dass ich in MySQL so gut wie keine Ahnung habe, in PHP schon etwas mehr...

    @Link275
    Das mit den Kommentaren, die habe ich jetzt nur schnell dazu geschrieben...
    Aber ja, hast recht...

    Werde den Code jetzt sofort ausprobieren

    @Lukas
    Ich muss auch einsehen, dass ich das noch nicht kann, also ist deine Antwort berechtigt :D :D



    OK habe jetzt diesen Code:

    PHP-Quellcode

    1. @mysql_connect("88.198.21.133", "trhj, "zfrjs");
    2. $query = "`Infos``Schauspieler``Dauer``Altersbeschränkung``Name``Nummer`SELECT * FROM `dvds` WHERE 1";
    3. $res = @mysql_query($query);
    4. if($res){
    5. while($row = @mysql_fetch_assoc($res)){
    6. echo var_dump($row) . "<br>";
    7. echo 'Hat Funktioniert!';
    8. }
    9. }else{
    10. echo "<p>Es ist ein Fehler aufgetreten: " . mysql_error() . "</p>";
    11. }
    12. $query = "INSERT INTO `dvds` (`Infos`, `Schauspieler`) VALUES ($more, $schausp)";
    13. $res = @mysql_query($query);
    14. if(!$res){
    15. echo "Daten konnten nicht eingetragen werden. Fehlermeldung: " . mysql_error();
    16. }

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „wsk1000“ ()

    Hi,

    aber das in Zeile 4 ist immer noch Mist. Mach das raus und schreibe nur SELECT * FROM `dvds`

    Was ist das Ergebnis? Bekommst du eine Fehlermeldung? Oder zwei? Wenn du unten keine kriegst, hat er den Datensatz erfolgreich erstellt. Das kannst du auch in phpMyAdmin nachschauen, ob da Werte drin sind.

    Link :thumbup:
    Hello World
    Fehlermeldung sobald ich die Seite aufgerufen habe:

    Es ist ein Fehler aufgetreten: The server requested authentication method unknown to the client

    Daten konnten nicht eingetragen werden. Fehlermeldung: The server requested authentication method unknown to the client
    Hi,

    wie's ausschaut erkennt PHP die Authentifizierungsmethode nicht. Vergleiche mal mit einem phpinfo() an beiden Hosts die Version.

    Ich seh' auch grad dass gar keine Datenbank ausgewählt ist. Entweder du schreibst sie im Query mit dazu (also dann SELECT * FROM `datenbankname`.`dvds`) oder du arbeitest mit @mysql_select_db (in deinem Fall).

    Link :thumbup:
    Hello World
    Hi,

    eine mögliche Lösung ist hier beschrieben: forums.laravel.io/viewtopic.php?pid=49178
    Warum muss eigentlich die Datenbank auf einem externen Server liegen, wieso nimmst nicht die auf dem jetzigen Server bzw. auf deinem eigenen Rechner?

    Link :thumbup:
    Hello World
    Auf dem Hauptserver deswegen nicht, weil ich diese Homepage bei einem gratis hoster hoste. Das heißt, das nach 30 Tagen die Datenbank gekauft werden muss.
    Bei dem anderen nicht.

    OPk. und wie down oder upgrade ich PHP? (Auf einem Server)

    Wie mache ich das auf dem eigene Rechner?
    Hi,

    zunächst lädst du dir xampp runter, auf dieser Seite hier findest du es, der direkte Link ist der hier.

    Dann installierst du das Zeugs. Da ist dann PHP und phpMyAdmin für Datenbanken automatisch mit dabei, und paar andre Sachen. Nach der Installation startest du das xampp control panel. Dort startest du bei Bedarf die Sachen was du brauchst, sollte in deinem Fall Apache und MySQL sein (die ersten beiden). So.
    Das Hauptverzeichnis für alle deine Projekte ist unter C:\xampp\htdocs. Da liegt schon einiges Zeugs drin. lass das einfach dort und erstelle hier einen neuen Ordner "Projekte". Du hast also jetzt die Ordnerstruktur "C:\xampp\htdocs\Projekte". Und in diesen Ordner kopierst du den Inhalt, also alle PHP-Dateien und HTML-Dateien und Stylesheets und Bilder und was weiß ich noch was das alles ist. Wenn du das hast, kannst du deinen Browser aufmachen und eintippen http://localhost/Projekte. Wenn sich in deinem vorhin erstellten Ordner eine index.php-Datei befindet, wird diese nun automatisch geöffnet. Beachte, dass du im Browser zwingend via localhost auf dein Zeug zugreifen musst, mit dem lokalen Pfad (also C:\xampp\htdocs\Projekte) funktioniert das nicht.
    Als nächstest öffnest du im Browser localhost/phpmyadmin und fügst deine Datenbank dort ein, entweder via Import-Datei oder per SQL den Befehl den du beim Export der alten DB generiert hast. Und dann sollte alles passen. Achja, und für mysql_connect verwendest du anstatt der IP dann localhost oder 127.0.0.1


    Link :thumbup:
    Hello World
    Hi,

    naja das musst du ja selbst wissen. Öffnest also phpMyAdmin und gehst dann zum Tab "Rechte" und erstellst dir da einen Benutzer und vergibst die entsprechenden gewünschten Berechtigungen. Vergiss nicht, ihm die Rechte auf deine Datenbank zu gewähren (das heißt deine Haupt-Datenbank für die DVD-Geschichte).
    Und diesen Benutzernamen und das Kennwort verwendest zusammen mit dem Hostnamen (localhost) um die Verbindung zu initiieren. Da du ja offenbar ohnehin noch nicht so erfahren bist wie mir scheint, rate ich dir, dich gleich mit MySQLi oder PDO auseinanderzusetzen. Die mysql_* Funktionen kommen so langsam außer Mode und sind auch nicht mehr zeitgemäß. Gewöhne dir von Anfang an einen objektorientierten Programmierstil an.


    Link :thumbup:
    Hello World