MySql Update keine Werte gespeichert

wenn ich einen Eintrag mache, welcher eine nicht definierte wariable hat funktioniert das script.

habe es jetzt so gemacht
PHP:
$id				=	$_GET['id'];
$Datum			=	mktime($_POST['H'],$_POST['i'],0,$_POST['m'],$_POST['d'],$_POST['Y']);
$Titel			=	$_POST['Titel'];
$Text			=	$_POST['Text'];
$User			=	$_POST['User'];
$Print			=	$_POST['Print'];
   $eintrag = "UPDATE News SET Datum = '$Datum', Titel = '".$_POST['Titel']."', Text = '".$_POST['Text']."', User = '".$_POST['User']."', Print= '".$_POST['Print']."' WHERE ID = '".$_GET['id']."';";

mysql_query($eintrag) or die(mysql_error());
mysql_query($UPDATE) or die(mysql_error());
würde aber gerne den 2. Eintrag wieder raus nehmen aber wie?
 
Kannst du bitte nochmal das machen was ich vorher schon gesagt habe, erstelle ein Updatequery aber nicht in eine neue DB sondern in die News und mach ein Update auf einen Datensatz.

Wenn das funktioniert dann is ein Fehler in deinem ganzen Konstrukt und nicht an DB oder Query.
 
und wenn du einmal dabei bist, könntest du die exportierte Struktur deiner News Tabelle gleich mit posten. Sollte ja keine Schwierigkeit sein.

apropos:
PHP:
SQL-Befehl: 
UPDATE `News` SET `Datum` = '1254454654',
`Titel` = 'erwfqr',
`Text` = 'erqewqe',
`User` = '1' WHERE `ID` =1 LIMIT 1 ;
hast du bei diesem SQL Statement (das im PHPMyAdmin) die Print Spalte einfach nur vergessen?
 
Morgen,

@sexmagic ich habe das doch probiert wenn ich das eingebe
PHP:
mysql_query("UPDATE News SET Datum = '1254454620', Titel = 'Das ist ein Test', Text = 'Test', User = '1', Print= '0' WHERE ID = '1' ");
und dies funktioniert auch ... :/

nur wenn ich das dann durch die variablen erstentze geht es wieder nicht ob wohl alle variablen existieren und auch ordnungsgemäß ausgegeben werden. Allerding wenn ich wie gesagt einen 2. mysql_query mache dann wird der 1. abgeschlossen und das script funktioniert nur ich will eigendlich nich einen 2. ins leere laufende query haben.

@Badboyws
PHP:
CREATE TABLE `News` (
  `ID` int(11) NOT NULL auto_increment,
  `Datum` int(10) NOT NULL default '0',
  `Titel` text NOT NULL,
  `Text` text NOT NULL,
  `User` varchar(5) NOT NULL default '',
  `Print` int(1) NOT NULL default '0',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
 
PHP:
$UPDATE= "UPDATE News SET Datum = '".$Datum."', Titel = '".$_POST['Titel']."', Text = '".$_POST['Text']."', User = '".$_POST['User']."', Print= '".$_POST['Print']."' WHERE ID = '".$_GET['id']."' ";

Versuchs mal so?
 
hi,
ich hab mir grad dein Script mal runtergeladen und die Tabelle erzeugt. Zum einen ist mir auf gefallen das du in deinen Selects Fehler hast bei dem Script was du hier auf Seite 1 gepostet hast:
PHP:
$sql = "SELECT * FROM News WHERE ID=".$_GET['id'].";";
Da ist am Ende nen ; zuviel. Ansonsten läuft das Script bei mir ohne Probleme. Hab die 2 Tabellen angelegt und es läuft. Es werden alle Felder sauber übergeben und neu in die Datenbank geschrieben. Auslesen klappt dann auch wieder sauber.
Also so wirklich weiß ich nicht mehr worans liegen könnte.
 
Zuletzt bearbeitet:
wenn ich einen Eintrag mache, welcher eine nicht definierte wariable hat funktioniert das script.

habe es jetzt so gemacht
PHP:
$id				=	$_GET['id'];
$Datum			=	mktime($_POST['H'],$_POST['i'],0,$_POST['m'],$_POST['d'],$_POST['Y']);
$Titel			=	$_POST['Titel'];
$Text			=	$_POST['Text'];
$User			=	$_POST['User'];
$Print			=	$_POST['Print'];
   $eintrag = "UPDATE News SET Datum = '$Datum', Titel = '".$_POST['Titel']."', Text = '".$_POST['Text']."', User = '".$_POST['User']."', Print= '".$_POST['Print']."' WHERE ID = '".$_GET['id']."';";

mysql_query($eintrag) or die(mysql_error());
mysql_query($UPDATE) or die(mysql_error());
würde aber gerne den 2. Eintrag wieder raus nehmen aber wie?

PHP:
$eintrag = "UPDATE News SET Datum = '$Datum', Titel = '".$_POST['Titel']."', Text = '".$_POST['Text']."', User = '".$_POST['User']."', Print= '".$_POST['Print']."' WHERE ID = '".$_GET['id']."';";

Hier is das auch der Fall mit dem Semi!
 
da hab ichs gar nicht gesehen, in dem Ori Script isses mir aber paar mal aufgefallen. PHPmyAdmin will das ; zwar zum Befehlsabschluss aber bei PHP darfs nicht sein, vllt liegts daran, das er den Befehl dann nicht ausführt sondern irgendwie hängen lässt am Server.
 
Ich glaube aber das er den Befehl weils im phpMyAdmin funktioniert hat von dort in sein Query kopiert hat und deswegen die drin hat, aber die wird er doch erst rauskopiert haben als er versucht hat den Fehler zu finden oder?

:)
 
Da alle eure Hilfen nicht funktioniert haben habe ich das gesamte Script neu gemacht bzw. überarbeitet Schritt für Schritt.
nun sieht es so aus und funktioniert auch wie es soll aber fragt mich bitte nicht was da jetzt anders ist ich weiß es nicht :S

PHP:
<?php
if (isset($_POST['Bearbeiten'])) {
$id				=	$_GET['id'];
$Datum			=	mktime();
$Titel			=	$_POST['Titel'];
$Text			=	$_POST['Text'];
$User			=	$_POST['User'];
$Print			=	$_POST['Print'];
   $eintrag = "UPDATE News SET Datum = '".$Datum."', Titel = '".$Titel."', Text = '".$Text."', User = '".$User."', Print = '".$Print."' WHERE ID='".$id."';";
echo $eintrag;
  mysql_query($eintrag) or die(mysql_error());
}
    $sql = "SELECT * FROM News WHERE ID=".$_GET['id'].";";
    $result = mysql_query($sql) OR die(mysql_error());
    while($row = mysql_fetch_assoc($result)) {
?>
<form id="form1" name="form1" method="post" action="?page=Neuigkeiten&action=edit&id=<?php echo $row['ID']; ?>">
  <table width="100%" border="0">
    <tr>
      <td width="27%"><strong>ID:</strong></td>
      <td colspan="2"><?php echo $row['ID']; ?></td>
    </tr>
    <tr>
      <td><strong>Datum:</strong></td>
      <td colspan="2"><input name="d" type="text" id="d" style="<?php echo $style; ?>" value="<?php echo date("d", $row['Datum']); ?>" size="1" maxlength="2"/>
        .
          <input name="m" type="text" id="m" style="<?php echo $style; ?>" value="<?php echo date("m", $row['Datum']); ?>" size="1" maxlength="2"/>
      .
      <input name="Y" type="text" id="Y" style="<?php echo $style; ?>" value="<?php echo date("Y", $row['Datum']); ?>" size="4" maxlength="4"/>
      &nbsp;<input name="H" type="text" id="H" style="<?php echo $style; ?>" value="<?php echo date("H", $row['Datum']); ?>" size="1" maxlength="2"/>
      :
      <input name="i" type="text" id="i" style="<?php echo $style; ?>" value="<?php echo date("i", $row['Datum']); ?>" size="1" maxlength="2"/></td>
    </tr>
    <tr>
      <td><strong>Titel:</strong></td>
      <td colspan="2"><input name="Titel" type="text" style="<?php echo $style; ?>" value="<?php echo $row['Titel']; ?>" size="88"/></td>
    </tr>
    <tr>
      <td valign="top"><strong>Text:</strong></td>
      <td colspan="2"><textarea name="Text" cols="85" rows="10" style="<?php echo $style; ?>"><?php echo $row['Text']; ?></textarea></td>
    </tr>
    <tr>
      <td><strong>User:</strong></td>
      <td colspan="2"><select name="User" size="1" style="<?php echo $style; ?>">
	  <?php $sql2 = "SELECT * FROM Administratoren;";
    		$result2 = mysql_query($sql2) OR die(mysql_error());
    		while($row2 = mysql_fetch_assoc($result2)) {?>

			<option value="<?php echo $row2['ID']; ?>"<?php if ($row['User']==$row2['ID']) { echo "selected";} ?>><?php echo $row2['Nick']; ?></option><?php } ?>
        </select>
    </tr>
    <tr>
      <td><strong>Drucken:</strong></td>
      <td colspan="2"><select name="Print" size="1" style="<?php echo $style; ?>">
          <option value="1" <?php if ($row['Print']==1) { echo "selected";} ?>>Ja</option>
          <option value="0" <?php if ($row['Print']==0) { echo "selected";} ?>>Nein</option>
        </select>      </td>
    </tr>
    <tr>
      <td rowspan="2">&nbsp;</td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td width="45%"></td>
      <td><div align="right">
        <input name="Bearbeiten" type="submit"  value="Bearbeiten" style="<?php echo $style; ?>"/>
          <input type="reset" name="Submit2" value="Abbrechen" style="<?php echo $style; ?>"/>
        </div></td>
    </tr>
  </table>
</form>
<?php } ?>
 
Zurück