MySQL neue Spalte > keine funktion!

kadach

Grünschnabel
Hey bin ein totaler Newbie und habe ein Problem was ich nirgendfinde... weil es wahrscheinlich total dumm ist!

Ich habe ein phpMailscript gemacht... was daten wie ID, Empfänger, Sender, Betreff, Nachricht und Datum in meine tabelle "mailbox" schreibt.

Und jetzt will ich eine neue Spalte hinzufügen die sich "new" nennt um abzufragen ob der User die Nachricht schon gelesen hat..
Also einfach nur von 0 auf 1 setzt...

Aber egal welchen Spalten typ ich mit phpMyAdmin hinzufüge funktioniert aufeinmal nicht mehr die normale Mail Funtkion... die vorher aber ging... wenn ich die Spalte lösche funtkioniert wieder alles.... ich bin Ratlos.. und überlege schon was länger..


danke, für jede hilfe!

kadach
 
zeige mal dein INSERT-Statement.
Vermutlich fügst du die Daten über eine kommaseparierte Liste ein und nicht durch explizite Angabe von Spaltenname und Wert.
Wenn du dann eine neue Spalte hinzufügst, erzeugt das einen Fehler, wenn du nicht für jede Spalte einen Wert angibst.
Lösung: setzte auch den Wert von new in deinem INSERT, auch wenn es sich um den Default-Wert handelt.
 
aehm... ich mache alles mit phpMyAdmin... wüsste keinen anderen weg.

Mache ... Zeile Hinzufügen ganz am Ende.
Name: Neu
Char (1)
latin1_swedish_ci (weil alle anderen das auch haben :) )
und dann halt NOT NULL

aber egal was ich da eingebe es macht alles kaputt..^^
 
Ich meinte nicht das Erzeugen der neuen Spalte, sondern das Einfügen von Datensätzen...das wird doch sicher dein Mailskript tun und nicht PHPMyAdmin
 
hier ... :D jetzt weiß ich was du meinst lol^^

HTML:
<?php
$Array[send] = "$_SESSION[user_nickname]";
$Array[empf] = "$_GET[empf]";
if(isset($_POST['SUBMIT']))    {
$host = "localhost";
$user = "-";
$password = "-";
$dbname = "-";
$tabelle ="mailbox";
$datum = date("d.m.Y");

$dbverbindung = mysql_connect ($host, $user, $password);


$dbanfrage = "INSERT into $tabelle values ('0', '$Array[empf]', '$Array[send]', '$Array[nachricht]', '$Array[betreff]', '$datum')";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("<font face= \"Verdana\">Nachricht gesendet!</font>");
} else {
print (" tas");
}
mysql_close ($dbverbindung);
}
?>
 
Hallo,

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[empf]', '$Array[send]', '$Array[nachricht]', '$Array[betreff]', '$datum')";

wie Sven schon gesagt hat, hast du keinen Default-Wert auf deine neue Spalte definiert. Aber du hast gesagt, das sie "NOT NULL" sein soll. Dann musst du sie auch in dein Insert-Statement mit aufnehmen.
Da du aber in deinem INSERT ohne Spaltennamen arbeitest, solltest du das zuallererst ändern, etwa so:

SQL:
INSERT INTO $tabelle (spalte1,spalte2,....) VALUES (wert1,wert2,...)

Markus
 
das wollte ich auch probieren hab ich mir auch irgendwie gedacht weil es bei meiner version keine zuordnung gab... aber ich dachte das ist zu schwer für mich das ralle ich nicht und irgendwie funktioniert es ja!

Ey also leute ICH DANKE EUCH VOLLLLLLLL!!
DANKE!! jetzt probiere ich es, aber ich denke das es das Problem ist!

DANKE
 

Neue Beiträge

Zurück