Problem mit Daten in DB speichern

ciberjoerg

Erfahrenes Mitglied
Egal was ich Versuche ich kann irgendwie keine Daten in die datenbank speichern.

Meine Tabelle "a1" hat ein feld "inhalt" doch irgendwie wird da nicht abgespeichert.

Was mach ich nur falsch?

PHP:
$inhalt = $_POST['inhalt'];
$db= $_POST['db'];

echo $inhalt."<br>";
echo $db;

if($_POST[submit] == true)
{ 
if($inhalt == "")
    {
   echo "Bitte \"Inhalt\" ausfüllen<br> <a href=\"javascript:history.back()\">Zurueck</a><br>";
   
   echo "Konnte in ".$db." nicht Speichern";
   exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert
   }
$link = mysql_connect("localhost","phost153882","********") or die ("Keine Verbindung moeglich");
mysql_select_db("phost153882") or die ("Die Datenbank existiert nicht");

$qry = mysql_query("INSERT INTO $db (`inhalt`) VALUES ('$inhalt')") OR die(mysql_error());
$eintragen = mysql_query($qry)or die(mysql_error());

if($eintragen == true)
   {
       echo"Erfolgreich Gespeichert!<br>";
   }
   else{
       echo"Konnte nicht gespeichert werden!<br>";
   }
}   
$link = mysql_connect("localhost","phost153882","*********") or die ("Keine Verbindung moeglich");
mysql_select_db("phost153882") or die ("Die Datenbank existiert nicht");
$db= $_GET['db'];

$abfrage = "SELECT * FROM $db";
$ergebnis = mysql_query($abfrage)or die(mysql_error());
while($row = mysql_fetch_object($ergebnis))
    {
        $inhalt=$row->inhalt;
    };
?>    <form action="admin.php?db=<?=$db?>" method="post">
<input name="db" type="hidden" value="<?=$db?>" />
<textarea name="inhalt" cols="120" rows="20"><?=$inhalt?></textarea>
<input type="submit" value="Absenden" />


</form>
 
Es wird mir beim senden Keine Fehlermeldung gegeben. kann das evtl mit der datenbank selbst zusammen hängen?

Also das mit dem überprüfen ob ein inhalt mitgesendet wir hab ich schon drinn. Es wird inhalt gesendet.

Was mit mysql_affected_rows() zu machen und wo ist, ist mir noch unklar.
die abfrage mit $eintragen == true hab ich so von meiner Seite übernommen auf der das funktioniert.

Im grunde sollte der Code ja so funktionieren hab das eigentlich so wie immer. Ich blick grad keinen halben mehr durch.
 
Nun ich hab in phpMyAdmin grad versucht mit INSERT INTO a1 (inhalt) VALUES ('test text') den text zu speichern da macht er schon probleme. ich verzweifel langsam an dem SQL
 
Ah... schön. Und phpMyAdmin gibt normalerweise eine Fehlermeldung.
Wärst du so gütig uns die zu sagen oder sollen wir raten?

Ich tippe auf Fehler 64535

Und was für ein Feldtype hat inhalt?
 
So im script gehts immernoch nicht.

Tabellenstruktur für Tabelle `a1`
--

CREATE TABLE IF NOT EXISTS `a1` (
`id` int(11) NOT NULL auto_increment,
`inhalt` text collate utf8_unicode_ci NOT NULL,
KEY `id` (`id`),
FULLTEXT KEY `inhalt` (`inhalt`)
)

und mein php Code sieht so aus:

PHP:
<?php
include "shared/class/class.config.php";
$conf_pass= new Config("shared/config/pass_conf.php");
include $conf_pass->pfad_ums_class;
$fa_ums= new fa_ums(999);
//eintragen
$inhalt = $_POST['inhalt'];
$db= $_POST['db'];

echo $inhalt."<br>";
echo $db;

if($_POST[submit] == true)
{ 
if($inhalt == "")
    {
   echo "Bitte \"Inhalt\" ausfüllen<br> <a href=\"javascript:history.back()\">Zurueck</a><br>";
   
   echo "Konnte in ".$db." nicht Speichern";
   exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert
   }
$link = mysql_connect("localhost","phost153882","passwort") or die ("Keine Verbindung moeglich");
mysql_select_db("phost153882") or die ("Die Datenbank existiert nicht");

$qry = mysql_query("INSERT INTO `$db` (`id`, `inhalt`) VALUES
(1, '$inhalt')") OR die(mysql_error());

$eintragen = mysql_query($qry)or die(mysql_error());

if(mysql_affected_rows($eintragen))
   {
       echo"Erfolgreich Gespeichert!<br>";
   }
   else{
       echo"Konnte nicht gespeichert werden!<br>";
   }
}   
$link = mysql_connect("localhost","phost153882","passwort") or die ("Keine Verbindung moeglich");
mysql_select_db("phost153882") or die ("Die Datenbank existiert nicht");
$db= $_GET['db'];

$abfrage = "SELECT * FROM $db WHERE id ='1'";
$ergebnis = mysql_query($abfrage)or die(mysql_error());

while($row = mysql_fetch_object($ergebnis))
    {
        $inhalt=$row->inhalt;
    };
?>    <form action="admin.php?db=<?=$db?>" method="post">
<input name="db" type="hidden" value="<?=$db?>" />
<textarea name="inhalt" cols="120" rows="20"><?=$inhalt?></textarea>
<input type="submit" value="Absenden" />


</form>
 
Kann es denn sein das es gar nichts mit SQL und der Datenbank sondern mit diesem Codestück zu tun hat:

PHP:
if($_POST[submit] == true)

Was passiert wenn du es so schreibst

PHP:
if($_POST["submit"] == true)

Man beachte die Anfürungszeichen!!

Nachtrag: Was ich gerade noch sehe ist das der Submit Button keinen Namen hat
 
Zurück