Update - Wo liegt der Fehler?

michaelsoft

Grünschnabel
habe folgendes formular

<?

$sql1="SELECT a.systemid, a.gameid, a.sysid, a.release, b.systemid, b.system FROM system a, systeme b WHERE
a.gameid = '$gameid' AND a.systemid = b.systemid";

$res1=mysql_query($sql1);

while($row=mysql_fetch_array($res1))

{

echo"<FORM ACTION='insertrelease.php' METHOD=POST>
<P><TABLE BORDER=1>
<TR>
<TD WIDTH=120>
<P>$row[system]
</TD>
<TD>
<INPUT TYPE=text NAME=release VALUE='$row[release]' SIZE=30>
</TD>
<TD>
<P><INPUT TYPE=submit NAME=Absenden VALUE='Absenden'>
</TD>
</TR>
</TABLE>

</FORM>";}?>

habe folgende updatedatei geschrieben

<?



$sqlst = "update system set release = '$release' WHERE sysid = '$sysid'";

$query = mysql_query($sqlst);

if(!$query) {

print "Fehler!";

} else {

print "Eingetragen!";

}

?>

wenn ich im formular auf absenden drücke sagt er mir das es eingetragen ist aber in der datenbank hat er nichts aktualisiert. woran kann es liegen
 
Meines Wissens muss HTML so ähnlich lauten:

type="text"


mit " !

Falls du jetzt nicht weißt, wie du die durch den Parser bringst:

die kann man escapen: \
 
<INPUT TYPE=text NAME=release VALUE='$row[release]' SIZE=30>
<input type=hidden name=sysid value='$row[sysid]'>

und

if (isset($Absenden)) {
$query = mysql_query($sqlst);
}
 
sagts mal bin ich der einzige, der html-Angaben mit " schreiben muss?

echo "
<input type=\"text\" name=\"release\" value=\"".$row[release]."\" size="30">
":

was is denn da so schwer dran :confused:
 
ähnliches Problem

Ich habe ein ähnliches Problem:
Ich habe eine Sporttabelle, die über eine SELECT Abfrage angezeigt wird. Die Ergebnisse kann man per INPUT Feld eintragen und danach auf speichern klicken.
Das Übertragen der Daten in die MySQL Tabelle funktioniert aber nicht. Habe schon einiges probiert und auch in einem anderen Forum gefragt, bisher konnte mir aber niemand helfen.
PHP:
<?php
if(@!$submit) {
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="eintragungen">
<table border=0>
    <tr>
    <td style="background-color:#dddddd;">Heimteam
    <td style="background-color:#dddddd;">Gastteam
    <td align=center style="background-color:#dddddd;">Ergebnis
<?php
include('../cgi-bin/connect.inc.php');
$paarungen = mysql_query("
SELECT  s.id, 
        v1.name AS Heimteam, 
        v2.name AS Gastteam, 
        s.heimtore, 
        s.gasttore 
FROM    spiele s 
INNER JOIN verein v1 ON s.id_heimverein = v1.id 
INNER JOIN verein v2 ON s.id_gastverein = v2.id 
WHERE spieltag = ".$_GET['Runde']." 
GROUP BY s.id") or die(mysql_error());

while($row = mysql_fetch_array($paarungen)) 
{
echo '<tr>';
echo '<td class="liga">'.$row["Heimteam"].'</td>';
echo '<td class="liga">'.$row["Gastteam"].'</td>';
echo '<td class="liga"><input type="text" name="heimtore" value="'.$row[3].'" size=2>'; #Heimtore
echo ' : <input type="text" name="gasttore" value="'.$row[4].'" size=2>'; #Gasttore
echo '<input type="hidden" name="id" value="'.$row[0].'"></td></tr>';
}
?>
<tr><td colspan=4 align=right style="background-color:white;padding-top:20px;">
  <input type="submit" value="speichern" name="submit">
</table>
</form>

<?php
}
else
{
$sql = "UPDATE 'spiele' 
  SET 
    'heimtore' = '".(int)$_POST['heimtore']."', 
    'gasttore' = '".(int)$_POST['gasttore']."' 
  WHERE 
    'id' = '".(int)$_POST['id']."'";


$query = mysql_query($sql, $connect) or die (mysql_error());
}
?>
Beim derzeitigen Stand (sh. oben) kommt folgende Fehlermeldung:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
 
SET
'heimtore' = '".(int)$_POST['heimtore']."'

Also bei mir mag er Verbindungen im Query wo einfache Anführungszeichen '' von anderen einfachen Anführungszeichen '' eingeschlossen werden gar nicht.

Probier mal deine Heimtore vorher umzulagern: $heimtore = $_POST['heimtore']

und dann im Query: SET `heimtore` = '$heimtore'

shutdown
 
Zurück