ilch Forum » Allgemein » HTML, PHP, SQL,... » Datensätze hinzufügen

Geschlossen
  1. #1
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Hey Ho!
    Ich schreibe derzeit ein Programm für eine Community und ich arbeite zur Zeit auch mit MySQL. Nur habe ich ein Problem. Ich kenne mich kaum mit PHP im Zusammenhang mit SQL aus. Ich wollte in eine Tabelle Datensätze hinzufügen und was ist daran falsch:

    <?PHP
    /* Datenbankserver - In der Regel die IP */
    $db_server = '87.238.199.95';
    
    /* Datenbankname */
    $db_name = 'sascha	';
    
    /* Datenbankuser */
    $db_user = 'sascha';
    
    /* Datenbankpasswort */
    $db_passwort = '********';
             
    /* Erstellt Connect zu Datenbank her */
    $db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
       or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
    
    $db_check = @ mysql_select_db ( $db_name );
    
    if ( $db )
    {
      echo '<span style="color:red;">Verbindung zur Datenbank hergestellt!</span>';
    }
    
    
    mysql_query("INSERT INTO Marktplatz
        (Verkaufsart,Klasse,Artikelart,Beschreibung,Preis,Ingame)
    VALUES
        ('Biete', 'Mönch', 'Item', 'Perfekter Monk Stab', '10 Platin', 'Abaddon Killerin')");
    
    ?>



    Also der Connect funktioniert sicher, aber die Datensätze sind nicht in meiner Tabelle... traurig


    MfG
    ZSKing
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Wenn ich Variablen als Wert nehmen möchte, muss das dann so aussehen:

    VALUES ($test1, $test2);


    Oder müssen da die Dödel hin?

    VALUES ('$test1, $test2');



    MfG
    ZSKing
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Kennt sich Lord|Schirmer da aus?! lachen


    Zuletzt modifiziert von ZSKing am 16.12.2007 - 11:28:04
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Du musst um die einzelnen Variablen ' machen also z.B.
    VALUES ('$var1','$var2',...)
    dann sollte es gehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Und der Query-Teil im Code stimmt aber, sollte also klappen Dantensätze hinzuzufügen, oder?!


    <?PHP
    /* Datenbankserver - In der Regel die IP */
    $db_server = '87.238.199.95';
    
    /* Datenbankname */
    $db_name = 'sascha	';
    
    /* Datenbankuser */
    $db_user = 'sascha';
    
    /* Datenbankpasswort */
    $db_passwort = '******';
             
    /* Erstellt Connect zu Datenbank her */
    $db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
       or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
    
    $db_check = @ mysql_select_db ( $db_name );
    
    if ( $db )
    {
      echo '<span style="color:red;">Verbindung zur Datenbank hergestellt!</span>';
    }
    
    
    mysql_query("INSERT INTO Marktplatz
        (Verkaufsart,Klasse,Artikelart,Beschreibung,Preis,Ingame)
    VALUES
        ('$verkaufsart', '$klasse', '$art', '$beschreibung', '$preis', '$ingame')");
    
    ?>



    Zuletzt modifiziert von ZSKing am 16.12.2007 - 11:48:07
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Ja wenn die Tabelle existiert sollte es so klappen, ansonsten kann man immer mit echo mysql_error(); auf Fehlerjagd gehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Warum kannst du das nicht einfach in dem Thread schreiben, ich lese die PMs sogar erst später wie du siehst zunge
    ZitatZitat

    Aber in meiner Tabelle Marktplatz sind Daten weiterhin 0 Bytest. Natürlich müssen ja noch die Variablen definiert werden, aber ich habe das so gemacht:

    domain.de/eintragen.php?verkaufsart=test&klasse=test usw. - Geht das eigentlich. Ein Moderator auf 'nem Delphi-Forum meinte das aber anscheinden klappt es ja nicht.... Was mache ich falsch?


    MfG
    ZSKing


    Das würde nur funktionieren, wenn man register_globals auf on in der php.ini hat und davon ist nur abzuraten, du kannst die Daten aus der Adressleiste mit $_GET['verkaufsart'] oder $_REQUEST['verkaufsart'] auslesen, müsstest diese dann den anderen Variablen zuweisen oder gleich diese nutzen, dann aber mit {} umschlossen. Und du solltest nicht in einem Delphi Forum fragen zunge


    Zuletzt modifiziert von Mairu am 16.12.2007 - 12:18:30
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Okay also wie gesagt es ist ein Delphi-Programm. Ich brauche nur den PHP-Scipt irgendwo auf dem Server und sende dann mit dem Programm per POST die Daten an das Script. Also wäre es gut, wenn ich die Variablen in der "URL" (in dem Fall ja nur Code für den POST-Teil des Programms) definieren kann. - Bleibt nur eine Frage: Wie würde so eine $GET-Abfrage aussehen?
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Du willst die Seite nur benutzen um mit einem Delphi Programm Daten in die Datenbank zu bringen?
    Dann mach das doch gleich mit Delphi, verbinde direkt mit Delphi auf den MySQL Server und führe die Anfrage aus?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Geht schlecht und die Source-Files für nen MySQL-Connecter sind schwer zu bekommen. Teilweise kann man auch nicht drauf zugreifen und der Connecter hat Bugs (Source hat ca. 500 Zeien pro Unit, da sind Bugs schwer zu finden).

    Naja die PHP-Methode wäre die einfachste. Du weiß doch sicher wie eine solche $_GET-Abfrage aussehen müsste, damit ich das in der Variable definieren kann, oder? lächeln


    MfG
    ZSKing
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Ich glaube jetzt habe ich es verstanden:

    Man definiert die Variablen im Script mit $_GET und kann dann entsprechendend alles in der URl auslesen?!

    Wie sieht so eine Variable mit $_GET aus?
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Mein Gott, $_GET ist ein Array und enthält alle in der Adresszeile mitgegeben Variablen, also bei deinem Bsp. hatte ich ja die Belegung einer Variable angezeigt du könntest also VALUES ('{$_GET['verkaufsart']}',... benutzen, allerdings sind damit SQL Injection möglich.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    ZSKing Mitglied
    Registriert seit
    05.05.2007
    Beiträge
    1.026
    Beitragswertungen
    0 Beitragspunkte
    Der User bekommt durch die Post-Geschichte in dem Programm eh nicht mit wo das Script liegt. zwinker Das wäre
    doch für SQL-Injection nötig, oder?! Naja ich bin nicht
    sooo PHP wie du sicher merkst... lächeln


    Vielen Dank, Mairu! zwinker


    Zuletzt modifiziert von ZSKing am 19.12.2007 - 16:39:21
    »inaktiv
    _________________________________
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten