1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

phpMySql connect funz nich

Discussion in 'Web-Know-how für die Homepage' started by rainerhett, Aug 17, 2006.

Thread Status:
Not open for further replies.
  1. rainerhett

    rainerhett Byte

    Hallo
    bin auf einen Beitrag Gästebuch gestoßen (http://www.webmaster-resource.de/tricks/php/gaestebuch-mit-php-und-mysql-teil-1.php). Nach Beschreibung installiert.Im ganzen 4 Dateien:eintrag.php;gaestebuch.php;gastadmin.php und eintrag-einfuegen.php.
    Im Beitrag kopiert, die Dateien angelegt und zum Server übertragen.
    Habe eine neue Datenbank angelegt 141378_1, den Befehl in SQL ausgeführt. Danach war eine Tabelle "Gaestebuch" in der benannten db.Habe dann einfügen.php meinem aüßerem Bild angepsst- zu sehen unter: ---Link gelöscht--- dann den Button "Gästebuch"
    Leider klappt der Connect mit meiner Datenbank nicht! Habe schon 4x den Support bemüht, aber deren Lösungen haben nicht zum Erfolg geführt obwohl ich Sie gebeten habe entsprechende Änderungen vorzunehmen! Ich kopiere die wohl entscheidenden Absätze mal mit:
    $DatabasePointer = mysql_connect("127.0.0.1", "141378", "blabla");
    mysql_select_db("db141378_1", $DatabasePointer);
    Bis auf das Passwort stimmen diese Angaben.
    Habe mehrere Varianten probiert.
    Bitte helft mir, ich bin der Verzweiflung nahe. Fast letzte Hoffnung.
    MfG Rainer

    oconner
    Admin





    Anmeldungsdatum: 09.02.2006
    Beiträge: 2030
    Wohnort: neben an!
    7381 codepoints
    [ Schenken ]


    Verfasst am: 16.08.2006, 19:11
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Was klappt denn nicht? Auf den ersten Blick könnte der fehlende Port von Bedeutung sein. Was sagt mysql_error()?
     
  3. rainerhett

    rainerhett Byte

    außer das keine Verbindung hergestellt werden konnte kommt keine Fehlermeldung. Probiere es mal aus, mehr steht bei mir auch nicht!
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Nö. Bei mir kommt:

     
  5. rainerhett

    rainerhett Byte

    hier mal der komplette Code:
    <html>
    <head>
    <title>Eintrag hinzuf&uuml;gen</title>
    </head>
    <body>
    <?php

    $DatabasePointer=mysql_connect("127.0.0.1", "db141378", "");
    mysql_select_db("db141378_1", $DatabasePointer);

    $SQL = "INSERT INTO Gaestebuch (Datum, Name, Titel, Eintrag) VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Titel']."', '".$_REQUEST['Eintrag']."')";
    mysql_query($SQL, $DatabasePointer);

    if(mysql_affected_rows($DatabasePointer)==1)
    {
    ?>
    Vielen Dank f&uuml;r Ihren Eintrag!<br>
    <a href="gaestebuch.php">Zur&uuml;ck</a>
    <?php
    }
    else
    {
    ?>
    Beim Eintragen ist ein Fehler aufgetreten.<br>
    <a href="javascript:history.back();">Zur&uuml;ck</a>
    <?php
    }
    ?>
    </body>
    </html>
    da ist Zeile 18 mit dabei!
     
  6. Matmun

    Matmun Kbyte

    Und an den PHP-Code hast du nicht rumgespielt? Der ging so im Orginal?
     
  7. rainerhett

    rainerhett Byte

    folgendes wurde geändert in Rot:
    $DatabasePointer=mysql_connect("127.0.0.1", "db141378", "");
    mysql_select_db("db141378_1", $DatabasePointer);
     
  8. Matmun

    Matmun Kbyte

    Stimmen denn alle Formularnamen aus der eintrag.php mit der aus eintrag-einfuegen.php überein? Werden die Werte richtig übergeben?

    Füg doch mal die Zeile:

    echo "INSERT INTO Gaestebuch (Datum, Name, Titel, Eintrag) VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Titel']."', '".$_REQUEST['Eintrag']."')";

    ein um zu sehen, wie die SQL Zeile zusammengebaut wird!
     
  9. rainerhett

    rainerhett Byte

    Ok- hab ich gemacht. Folgende Rückmeldung:
    INSERT INTO Gaestebuch (Datum, Name, E-Mail, Eintrag) VALUES (NOW(''), 'TFCVZGUBHJ', 'ctfvzgbuhnj', 'rdxctfvzgbh')Beim Eintragen ist ein Fehler aufgetreten.
    Zurück
    Allerdings muß ich zugeben aus "Titel" jetzt eben "E-Mail" gemacht zu haben, weil die Tabellenspalte E-Mail heißt.
    In der Datei "eintrag.php" war dies schon geändert.
     
  10. lightdisc

    lightdisc Halbes Megabyte

    nimm statt $_REQUEST mal $_POST
     
  11. rainerhett

    rainerhett Byte

    OK- die Zeilen sehen jetz so aus:
    $DatabasePointer=mysql_connect("127.0.0.1", "db141378", "");
    mysql_select_db("db141378_1", $DatabasePointer);

    $SQL = "INSERT INTO Gaestebuch (Datum, Name, E-Mail, Eintrag) VALUES (NOW(''), '".$_POST['Name']."', '".$_POST['E-Mail']."', '".$_POST['Eintrag']."')";
    mysql_query($SQL, $DatabasePointer);

    echo "INSERT INTO Gaestebuch (Datum, Name, E-Mail, Eintrag) VALUES (NOW(''), '".$_POST['Name']."', '".$_POST['E-Mail']."', '".$_POST['Eintrag']."')";

    if(mysql_affected_rows($DatabasePointer)==1)
    {
    ?>
    Und das ist die Rückmeldung:
    INSERT INTO Gaestebuch (Datum, Name, E-Mail, Eintrag) VALUES (NOW(''), 'rxtczvguh', 'tczvtubzh', 'tzgvbuhnj')Beim Eintragen ist ein Fehler aufgetreten.
    Zurück
     
  12. Matmun

    Matmun Kbyte

    Um ganz sicher zu gehen ändere mal bitte E-Mail in EMail (ohne Minus) und statt Name vielleicht Nachname. Name gibts auch irgendwo als Befehl (muss hier nicht sein, aber sicher ist sicher).

    Im Formular, in der PHP Seite und in der Datenbank ändern!
     
  13. Matmun

    Matmun Kbyte

    Du kannst auch mal statt des NOW('') ein festes Datum einfügen lassen. z.B. '06.06.06'.
     
  14. rainerhett

    rainerhett Byte

    in folgenden Dateien wurden die vorgeschlagenen Änderungen gemacht:
    eintrag.php
    eintrag-einfuegen.php und in der Tabelle Gaestebuch der db 141378_1
    Im übrigen danke ich allen für das rege interesse!http://www.pcwelt.de/forum/images/smilies/smile.gif
     
  15. rainerhett

    rainerhett Byte

    smile soll wohl nicht sein- zumindest sieht man den Willen ( ist mein erstes Forum)
    Meinst du es liegt am Datum? Ich dachte immer der Aufruf zur und in die Datenbank klappt nicht. Die Rückmeldung nach den Änderungen ist jedenfalls noch die selbe- blöde- dämliche!
     
  16. Matmun

    Matmun Kbyte

    Ob du zur Datenbank eine verbindung hast kannst du durch die erweiterung "or die" testen. Ich versuche nur mit dem Datum z.B. weitere Fehlerquellen auszuschließen. Wie schon Sherlock Holmes ähnlich sagte: " ... das was übrig bleibt muss es sein!"

    mysql_connect($server, $username, $password) or die ("Keine Verbindung zum MySQL Server");

    mysql_select_db($dbname) or die ("Datenbank nicht da");
     
  17. rainerhett

    rainerhett Byte

    matmun- ich muss dir gestehen, das ich im moment 2 foren offen habe und soeben auch von dort einen vorschlag erhalten habe. ich denke gemeinsam schaffen wir es- jedenfalls sind wir schon einen gewaltigen schritt vowärts gekommen!
    Die Datei sieht aktuell jetzt so aus:
    //hier musst du deine Datenbank Daten eintragen!
    //Datenbank login
    $db_host = "localhost"; //dein Hostname (meißtens "localhost")
    $db_user = "db141378"; //dein Datenbank benutzername
    $db_pass = ""; //dein passwort der Datenbank
    $db = "db141378_1"; //der name der Datenbank die benutzt werden soll

    mysql_connect($db_host, $db_user, $db_pass) or die ("Keine Verbindung zum MySQL Server");
    mysql_select_db($db) or die ("Datenbank nicht da");

    $SQL = "INSERT INTO Gaestebuch
    (Datum, Name, EMail, Eintrag) VALUES
    (NOW(''), '".$_POST['Nachname']."', '".$_POST['EMail']."', '".$_POST['Eintrag']."')";

    //echo "INSERT INTO Gaestebuch (Datum, Nachname, EMail, Eintrag) VALUES (NOW('17.08.06'), '".$_POST['Name']."', '".$_POST['E-Mail']."', '".$_POST['Eintrag']."')";

    if ($_POST['Nachname'] != "" AND $_POST['EMail'] != "" AND $_POST['Eintrag'] != "")
    {
    mysql_query( $SQL ) OR die(mysql_error());
    ?>
    Vielen Dank f&uuml;r Ihren Eintrag!<br>
    <a href="gaestebuch.php">Zur&uuml;ck</a>
    <?php
    usw.... Ich habe versucht alle vorschläge passent einzubringen.
    Die Rückmeldung:
    Datenbank nicht da
    kann es sein, das man die tabelle "gaestebuch" noch irgendwo angeben muß, oder reicht der insert- befehl dazu schon aus??
     
  18. kalweit

    kalweit Hüter der Glaskugel

    Warum liest du nicht im Manual nach, wie man eine Datenbankverbindung aufbaut. Dort ist auch das von mir in #2 bereits geannte mysql_error() beschrieben, welches einen Fehlercode zurückgibt. Aus diesem ließe sich die Ursache vermutlich recht leicht ermitteln... - das Ganze gibt es mit mysql_errno() auch noch für die mySQL-Operation selber. :rolleyes: :aua:
     
  19. Matmun

    Matmun Kbyte

    Du bist aber sicher, dass dein Datenbankname stimmt? Wie arbeitest du denn mit Datenbanken eigentlich auf deinem Rechner? Ich würde dann da PHPmyAdmin nehmen. Und da siehst du je ob die Datenbank und die Tabelle da ist.

    Die Tabelle Gaestebuch solltest du natürlich irgendwann mal mit den Feldern erstellt haben. Der SQL Befehl lautet "Create Table ...".
     
  20. frajoti

    frajoti Viertel Gigabyte

    Also nach Deiner Seite Über mich kannst Du doch
    Daher verstehe ich Deine Probleme nicht.

    Im Moment ist die Datenbank nicht da. Wer ist denn Dein Hoster? Nicht bei jedem heisst der Hostname localhost. Mit dem bereits angesprochenen Befehlen mysql_error() und mysql_errno() lässt sich auf einfache Weise der Fehler identifizieren.

    Bei evtl. fehlenden Kenntnissen hift ein Blick in die Doku.
     
Thread Status:
Not open for further replies.

Share This Page