Zum Inhalt springen

MySQL verbindung besteht, aber kein Eintrag.


Mohamedal_hakim

Empfohlene Beiträge

hallo..

habe ein formular dass in 3 schritten verarbeitet wird.

schritt 1 und 2 funktionieren, allerdings wenn ich die SQL anweisung starte, kriege ich keinen eintrag in meine Datenbank..

Code sieht folgendermassen aus:


<?php
define( '_VALID_MOS', 1 );

if ($_POST['abschicken']) {
include_once( '../globals.php' );
require_once( '../configuration.php' ); //datenbank zugangsdaten


mysql_select_db($mosConfig_db) or die("<h3>Datenbank nicht vorhanden</h3>");
mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("<h3>Datenbankserver nicht erreichbar</h3>");
echo $mosConfig_host. " ". $mosConfig_user ." ". $mosConfig_password;
$sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')";
echo $sql;
$result = mysql_query($sql);
}
?>[/PHP]

wenn ich über Echo die zugangsdaten mir anzeigen lasse, dann sehe ich diese auch, aber ich kann nicht darauf zugreifen.

kann mir jemand sagen wo das problem ist?

wäre echt euch sehr dankbar!

ist eine MySQL datenbank!

ein Export meiner Datenbank sieht folgender massen aus:

[code]-- phpMyAdmin SQL Dump -- version 2.7.0-pl2 -- http://www.phpmyadmin.net -- -- Host: localhost -- Erstellungszeit: 17. August 2006 um 09:54 -- Server Version: 4.0.18 -- PHP-Version: 4.3.4 SET AUTOCOMMIT=0; START TRANSACTION; -- -- Datenbank: `phoenix` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `_Voll_Krass_Formular_` -- DROP TABLE IF EXISTS `_Voll_Krass_Formular_`; CREATE TABLE IF NOT EXISTS `_Voll_Krass_Formular_` ( `id` int(1) NOT NULL default '0', `Anrede` varchar(50) NOT NULL default '', `Vorname` varchar(50) NOT NULL default '', `Nachname` varchar(50) NOT NULL default '', `Adresse` varchar(50) NOT NULL default '', `PLZ` varchar(5) NOT NULL default '', `Ort` varchar(50) NOT NULL default '', `Email` varchar(50) NOT NULL default '', `Land` varchar(50) NOT NULL default '', `Geb-Datum` varchar(50) NOT NULL default '', `M-Tele` varchar(30) NOT NULL default '', `H-Tele` varchar(30) NOT NULL default '', `NKL` varchar(50) NOT NULL default '', `SKL` varchar(50) NOT NULL default '', `Lotto` varchar(50) NOT NULL default '', `Ip-Adresse` varchar(12) NOT NULL default '', `Spiel_Beginn` varchar(50) NOT NULL default '', `Angebot_1` varchar(50) NOT NULL default '', `Angebot_2` varchar(50) NOT NULL default '', `Angebot_3` varchar(50) NOT NULL default '', `Angebot_4` varchar(50) NOT NULL default '', `Angebot_5` varchar(50) NOT NULL default '', `Angebot_6` varchar(50) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `Email` (`Email`) ) TYPE=MyISAM; -- -- Daten für Tabelle `_Voll_Krass_Formular_` -- COMMIT;[/code]

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo..

vielen Dank für deine Antwort..

ich habe es auch gemacht..

aber:

genau das gleiche Problem..

es ist sehr anfängermässig wenn man das gesammte Code reinkopiert und hofft, dass einem jemand hilft, aber ich bin mit diesem Problem seit tagen..

und bisher hatte ich nie probleme mit MySQL, auch nicht über ODBC,

es ist ein Webserver auf Apache (suse 8.2) (Webhoster)


<body>

<?php

  // Post anwendung

  $anrede = $_POST['anrede'];

  $vorname = $_POST['vorname'];

  $nachname = $_POST['nachname'];

  $adresse = $_POST['strasse'] ."\n". $_POST['hsnr'];

  $plz = $_POST['plz'];

  $ort = $_POST['ort'];

  $email = $_POST['email'];

  $Land  = $_POST['land'];

  $Geb_Datum = $_POST['geburttag'] . $_POST['geburtmonat'] . $_POST['geburtsjahr']; 

  $H_Tele = $_POST['mobilvorwahl'] ."\n". $_POST['mobilnummer'];  //$h_Tele  ist HANDY_Telefon

  $Haus_Tele = $_POST['vorwahl'] ."\n". $_POST['telefon'];

  $ipadresse ="$REMOTE_ADDR";

  $datum_ = $datum . "/" . $uhrzeit;

 //Datum und Uhrzeit ausgeben

$datum = date("d.m.Y");

$uhrzeit = date("H:i");

//datum_  ist eine zusammensetzung von: $datum und $uhrzeit," Uhr";

$datum_ = $datum . "/" . $uhrzeit;

//IP Adresse auslesen

$ipadresse ="$REMOTE_ADDR";


?>

  <div align="center"> <form action="index_3.php" method="post" name="Form_2" id="inputField" >

  <table border="1" cellpadding="10" cellspacing="0" align="left" class="Jahresabo">

    <tbody><tr>

      <td align="left" valign="top">

        <table border="0" width="550">

          <tbody><tr>

            <td width="100%">

              <p class="maintext" align="left">

                <font color="#6ca4b0" face="Trebuchet MS" size="1">  

                  <?php

						  echo "Sehr geehrte/r\n". $_POST['anrede']." ".$_POST['nachname']."\n"."<br />Sie haben sich erfolgreich registriert.

						  <br> Ab Heute haben Sie die Chance an der Teilnahme der Verlosung des Preises XXXXX teilzunehmen.<br />Sie werden in 

						  kürze ein Email mit Ihrer Daten zugeschickt bekommen, so können Sie sichergehen, dass Ihre Daten auch bei uns

						   eingegangen sind<br />Ihre Daten wurden wie erfolgt aufgenommen und werden auch so abgespeichert.<br />"; 

						   ?>

                  </font>                </p>

				     </font>

              </p><div align="left">

                <table border="0" cellpadding="2" cellspacing="2">

                  <tbody><tr>

                    <td>

                      <div align="left"><b><font face="Trebuchet MS" size="1">Anrede:</font></b> </div></td>

                          <td>

                            <font face="Trebuchet MS" size="1"><?php echo $_POST['anrede']; ?></font>							  </td>

                              </tr>

                    <tr>

                      <td>

                        <div align="left"><b><font face="Trebuchet MS" size="1">Vorname:</font></b> </div></td>

                          <td>

                            <font face="Trebuchet MS" size="1"><?php echo $_POST['vorname']; ?></font>                              </td>

                        </tr>

                    <tr>

                      <td>

                        <div align="left"><b><font face="Trebuchet MS" size="1">Nachname:</font></b> </div></td>

                          <td>

                            <font face="Trebuchet MS" size="1"><?php echo $_POST['nachname']; ?></font>                              </td>

                        </tr>

                    <tr>

                      <td align="left" valign="top">

                        <div align="left"><b><font face="Trebuchet MS" size="1">eMail:</font></b> </div></td>

                          <td align="left" valign="top">

                            <font face="Trebuchet MS" size="1"><?php echo $_POST['email']; ?></font>							 </td>

                        </tr>

                    <tr>

                      <td align="left" valign="top">

                        <div align="left"><b><font face="Trebuchet MS" size="1">Geburtsdatum:   </font></b> </div></td>

                          <td align="left" valign="top">

                            <font face="Trebuchet MS" size="1"><?php echo $Geb_Datum; ?></font>							 </td>

                        </tr>


                    <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Strasse /Haus-Nr::</font></b></div></td><td><b><font face="Trebuchet MS" size="1">

  <?php echo $adresse; ?></font></b></td></tr>

  <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">PLZ / Ort:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $_POST['plz']." ".$_POST['ort']; ?>

  </font></b></td></tr>

  <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Land:</font></b></div></td><td><b><font color="#000000" face="Trebuchet MS" size="1"><?php echo $_POST['land']; ?>

  </font></b></td></tr><tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Vorwahl / Telefon:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $Haus_Tele; ?></font></b></td></tr><tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Mobil:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $H_Tele; ?></font></b></td></tr>

  <tr>

    <td valign="top" align="left">

      <b><font face="Trebuchet MS" size="1" color="#CC0000"></font></b>							  </td>

                                  <td valign="top">


                                      <input value="Jetzt abschicken" name="abschicken" type="submit"button>

                                    						  </td>

                        </tr>

                    </tbody></table>

                          </div>

                    <p class="maintext" align="center">                    </p>			    </td>

                  </tr>

            </tbody>

          </table>

          </center>

        </div>            

    </td>

    </tr>

    </tbody>

  </table></form>		

  </div>

  <br />

  <?php

define( '_VALID_MOS', 1 );


// checks for configuration file, if none found loads installation page



	if ($_POST['abschicken']) {

//		include_once( '../globals.php' );

		require_once( '../configuration.php' );


		  mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("<h3>Datenbankserver nicht erreichbar</h3>");

		  mysql_select_db($mosConfig_db) or die("<h3>Datenbank nicht vorhanden</h3>"); 

		  $sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')";

 		  $result = mysql_query($sql);

	} 

?>

</div>

</body>

wie du siehst, habe ich die Postanweisung oben bei der Datenübernahme gemacht, liegt es vieleicht daran, dass da der Fehler ist?

allerdings habe ich die SQL anweisung per ECHO ausgeben lassen, die Inhalte sind alle drinn!

die MySQL tabellenTyp: alles: varchar

ich will erst, dass daten eingetragen werden, mehr nicht..

danke dir im vorraus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo.. das Thema ist immernoch aktuell..

aber ich brauche momentan die Angebote nicht, muss ich sie trotzdem mit reinsetzen? ich kann also quasi die Werte auf null setzen, dann würde es klappen? oder die Datenbank später auf die 6 Angebote erweitern? dann würde es funktionieren? muss es gleich die tage ausprobieren, da ich nicht weiterkam, und das projekt auf Eis gelegt habe!

danke dir vielmals um den Tipp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Eintragen in die DB funzt nicht, weil dein SQL-Befehl falsch ist. Du vergisst in deinem INSERT TO Befehl die Angebote 1-6 zu berücksichtigen und er somit nicht vollständig ist

Da er aber die Spaltennamen für das INSERT INTO explizit angibt, sollte das egal sein...

$sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')";

Setz doch mal ein


echo mysql_error();
[/PHP]

hinter das mysql_query($sql), und poste, falls Du nach wie vor Probleme hast, einfach mal den Inhalt von $sql.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

hallo.. das ist die fehlermeldung:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('Herr

aber was ist damit gemeint?

ich habe die MySQL Tabelle wie folgt geändert, sodass NUR die Daten eingetragen werden, die auch nötig sind!

inhalt von $sql ist so wie ich das haben möchte.. ist alles richtig.. ich kann es ausgeben:

INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('Herr', 'mohamed', 'al-hakim', 'triftstrasse 6' , '13353' , 'berlin' , 'mohamedal_hakim@hotmail.com', 'DE' ,'', '030 466797915' , '0176 23429990' , '81.169.145.11' , '04.09.2006/10:57')

ist alles richtig.. oder sieht ihr da ein Fehler?

achja:

die ID, muss ich da auch was einfügen? das inkrementiert von alleine oder nicht?

also spricht er nach ID den nächsten Feld, und das wäre Anrede $anrede ?? oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

(Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn)

MySQL stört sich ohne Quotes scheinbar am '-' im Spaltennamen...

Entweder benennst Du deine Spalten um, in dem Du z.B. einen '_' verwendest, oder Du quotest:


(Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, `Geb-Datum`, `M-Tele` , `H-Tele`, `Ip-Adresse`, Spiel_Beginn)

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...