Zum Inhalt springen

Verbindung zwischen PHP-Seite und MySQL Datenbank


Platinenweib

Empfohlene Beiträge

Hey meine Lieben,

ich bin in einer Ausbildung zur FiAE und habe in meinem Übungszentrum im Betrieb die Aufgabe, eine Datenbank mit sql erstellen und dort auch die Primary Keys und foreign keys eintragen soll.

--> erstes Problem: Also, die Primary Keys habe ich auch eingetragen, doch wie ich die Foreign keys rein bekomme, verstehe ich nicht so wirklich. Hab wirklich einiges ausprobiert, aber nichts hat funktioniert.

So, dann kommt die 2. Aufgabe. Wenn die Datenbank steht, sollen wir eine PHP/HTML-Seite erstellen, in der ein Formular ist, in das man Dinge einträgt, die sich dann nachher in der Datenbank eintragen.

--> Also, das Formular steht so weit (habe ich mit HTML gemacht!), allerdings weiß ich nicht wirklich, wie ich jetzt mit php und sql eine Verbindung zur Datenbank aufbauen kann.

--> Kann mir Jemand vielleicht einen Denkanstoß geben, wie ich das machen könnte?! Mag ja nicht mal einen fertigen Lösungsweg, will ja auch etwas lernen, aber iwie kommt meine Logik grade nicht mit :D :D

Hab bis jetzt auch noch keine Erfahrungen mit php und (my)sql gehabt, sondern nur in html und bin damit noch etwas überfordert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

dabei einen "Denkanstoss" zu geben, wenn sämtliche Grundlagen fehlen, ist leider etwas schwierig, ohne komplette Büchpassagen oder Tutorials zu zitieren.

Ich würde empfehlen, bei den Grundlagen anzufagen:

MySQL :: MySQL 5.1 Referenzhandbuch :: 14.2.6.4 Fremdschlüssel-Beschränkungen

Relationale Datenbank ? Wikipedia

MySQL :: MySQL Documentation: MySQL Reference Manuals

Wenn du so eine Aufgabe bekommst, und bist damit überfordert, solltest du das schon vorher abklären. Wenn man keine Erfahrung damit hat, muss man eben Zeit bekommen, sich das notwendige Wissen anzueigenen.

Hab wirklich einiges ausprobiert, aber nichts hat funktioniert.

Wenn du konkrete Probleme hast, ist eine Fehlermeldung immer hilfreich, weil man sich unter "nichts funktioniert" so ziemlich alles und nichts vorstellen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke schon mal für deine Antwort.

Ich habe meinem Ausbilder bereits gesagt, dass ich keinerlei Erfahrung in dem Bereich habe und er meinte, ich soll einfach mal ein wenig rumprobieren...

Hab aber auch ein wenig Zeit dafür.

Allerdings möchte ich das diese Woche schon durch haben, da wir nächste Woche mit neuen Themen in MySQL beginnen...

Danke für die Links, die werde ich mir auf jedenfall speichern und mal durchlesen.

Gibt es vielleicht noch iwelche Tutorials, die man empfehlen würde? Eben zu Übungszwecken...

Link zu diesem Kommentar
Auf anderen Seiten teilen

@tore,

ja, es hat mich um einiges weiter gebracht. Bin auch um einiges weiter gekommen, allerdings weiß ich nicht, wie ich jetzt weiter machen muss.

Hier ist das Skript, das ich bisher habe:

<?php

$db_host = "localhost";

$db_user = "root";

$db_pass = "";

$db_name = "terminkalender";


if (isset( $_POST['eintragen'] ))

{



    //Inhalte aus POST holen

    $datum = $_POST['datum'];

    $titel = $_POST['titel'];

    $beschreibung = (int) $_POST['beschreibung'];





    // Verbindung oeffnen und Datenbank ausweahlen

    $conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );

    if ($conID)

    {

        mysql_select_db( $db_name, $conID );

    }


    // Anfrage, die an die Datenbank geschickt werden soll

    $sql = "INSERT INTO 'terminkalender'

                ('datum', 'titel', 'beschreibung',)

            VALUES(

                '" .mysql_real_escape_string( $datum ). "',

                '" .mysql_real_escape_string( $titel ). "',

                '" .mysql_real_escape_string( $beschreibung ). "'

                )";


    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle

    mysql_query( $sql );


    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde

    if (mysql_affected_rows() == 1)

    {

        echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";

    }

    else

    {

        echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";

    }

}

?> 


//Formular


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Terminkalender</title>

</head>


<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">

<h1> Termin eintragen </h1>


<form action="input_text.html">

  <p>Datum (YYYY-MM-DD):<br><input name="datum" type="text" size="30" maxlength="30"></p>

  <p>Titel:<br><input name="titel" type="text" size="30" maxlength="40"></p>

  <p>Beschreibung:<br><input name="beschreibung" type="text" size="50" maxlength="200"></p>

    <br>

  <input type="submit" name="submitbutton" id="submitbutton" value="Senden" />

</form>


</body>

</html>

Wenn ich das Skript ausprobieren möchte, Daten in das Formular eingegeben habe und auf den "Senden"-Button klicke, kommt nur die Meldung, dass die Webseite nicht angezeigt werden kann.

Liegt das daran, dass ich Fehler im Skript habe oder muss ich vllt. noch etwas hinzufügen?! Stehe grade etwas auf dem Schlauch!

Link zu diesem Kommentar
Auf anderen Seiten teilen

guten morgen,

im deinen Code ist zweimal das <Form action................ enthalten.

Du hast jetzt Möglichkeiten entweder du erstellt, zwei Dateien eine als HTML und die zweite als PHP.

Wobei die HTMl Datei das Formular und die PHP Datei die Datenbank verbindung enthält usw.

Oder die andere Möglichkeit ist du rufts die PHP-datei selbst auf.

Ich bevorzeuge lieber die erste variante. Ihr findete ich fehler schneller.

Grüß tore1209

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei solchen Fehlern gehe ich immer einen der folgenden Wege:

Es gibt auch sowas wie mysql_error(), das man abfragen kann und sich so evtl. einen sinnvolle Fehlermeldung rausfischen kann.

Die einfachere und meistens auch schon zielführende Möglichkeit ist, sich einfach den voll zusammengebauten Query-String ausgeben zu lassen, diesen dann zu kopieren und versuchen direkt in der MySQL-DB auszuführen. Meistens ist nur die Query fehlerhaft und MySQL gibt dann eine verständliche Fehlermeldung. Dann solange an der Query rumschrauben, bis sie durchgeht und dann das ganze zurück ins PHP-Skript übertragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...