Script trägt nich mehr als 120 Zeichen in die Datenbank ein

hwcsteffen

Mitglied
hi, habe ein Skript um berichte einzutragen. Dies lief zuvor. Als ich jetzt nen Serverwechsel durchgeführt habe, geht es nicht mehr so, wie es soll. Musste schon bei anderen Skripten was ändern, aber hier weiß ich absolut nicht weiter.

Ab einen Text von ca. 120 Zeichen trägt er nichts mehr in die Datenbank ein, alles was drunter ist, trägt er ein.

Hier Daten zur Tabelle:

Spalte: text
Typ: Text
Null: Ja

Hier der Befehl zum Formular:


PHP:
<form name='test' action='hier steht der Link...' method=post>
<input class='suchen' type=text name='thema' size= 50><br></b><br>
<input class='suchen' type='hidden' value='$id' name='artikel_id'>
<textarea class='suchen' rows='40' name='text' cols='90'></textarea>
<input class='suchen' type=submit name='SUBMIT' value='Eintragen'>
</form>

Und hier das Skript zum eintragen:

PHP:
<? include('/home/www/web7/html/oben.php');?>
<center><br><br><br>
<?php

$dbserver = "xxx";
$dbuser = "xxx";
$dbpass = "xxx";
$dbname = "xxx";

$dbverbindung = mysql_connect ($dbserver, $dbuser, $dbpass);
$nr= $_GET['nr'];
$dbanfrage = "INSERT into seiten values ('0','" . $_POST["artikel_id"] . "', '" . $_POST["thema"] . "', '" . $_POST["text"] . "')";
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("<font class='ueberschrift'>Artikel-Seite wurde erfolgreich eingetragen.</font>");
} else {
print ("<font class='ueberschrift'>Es traten Probleme auf.</font>");
}

echo "
<br><br>
 
<a href='/Scripte/Artikel/bartikel.php?id=$nr'><font class='datum'>Hier klicken, um zum Artikel zur¸ckzukehren</font></a><br>";

mysql_close ($dbverbindung);

?>
</center>

<? include('/home/www/web7/html/unten.php');?>

Wer kann mir helfen...
 
Also dann gibt er aus dass er einen datensatz gelöscht hat..

Und was nun!! Er löscht ihn also, aber warum

Aber er gibt es auch aus, wenn ich weniger reinschreibe und er es trotzdem in die db einträgt

Woran liegt es. Brauch dringend Lösung, da sehr wichtig.
Danke
 
Falls du dir die Funktionsbeschreibung der mysql_affected_rows()-Funktion genauer durchgelesen hättest, wäre dir sicherlich aufgefallen, dass nicht nur die Anzahl der betroffenen Datensätze einer DELETE-Abfrage sondern auch die der INSERT- und UPDATE-Abfragen zurückgegeben werden.

Wie sieht denn das Schema deiner Tabelle aus?
 
also die tabelle bzw. die spalte ist im typ text und standard ist null. sonst standard.


Naja was muss ich denn genau eintragen, weil finde nur update und delete?
 
Zuletzt bearbeitet:
Mich interessiert eher das gesamte Schema der Tabelle, insbesondere die Eigenschaften der Spalte, die den Wert „0“ bekommen soll.
 
Feld Typ Attribute Null Standard Extra Aktion
nr int(10) UNSIGNED Nein auto_increment
artikel_id int(11) Nein 0
thema text Ja NULL
text text Ja NULL

Habe eben auch bemerkt, dass das bei all meinen Tabellen ist Alle sind so aufgebaut!!
 
Wenn du jedem Eintrag die Nummer „0“ zuordnest, gibt es wahrscheinlich auch nur einen Datensatz, der immer wieder überschrieben wird. Probiere mal Folgendes:
PHP:
<?php

	$query = '
		INSERT INTO
		        `seiten`
		  SET
		        `artikel_id` = "'.mysql_real_escape_string($_POST['artikel_id']).'",
		        `thema`      = "'.mysql_real_escape_string($_POST['thema']).'",
		        `text`       = "'.mysql_real_escape_string($_POST['text']).'"
		';
	mysql_query($query)
		or die(mysql_error());

?>
Durch die nicht-explizite Bestimmung des „nr“-Spaltenwerts wird dieser von MySQL automatisch erhöht – was es ja auch sollte.
 
Zurück