G greymane Medlem sedan juli 2001 711 inlägg Frågan 23 nov. 2001 14:21 #1 när jag föröker uppdatera min db med följande kod händer inget i dbn... jag får inget felmedd eller nåt.
<html>
<head>
<title>Ändra bilder/gallerier</title>
</head>
<body>
<? include("./connection.php")?>
<? //uppdatera galleri och bilder?>
Välj bild att ändra:<br>
<?
//plocka hem gamla data
$sql = "select id from bilder";
$result = mysql_query($sql) or die("nu blev det snett 1: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
echo(" <a href=".$HTTP_SERVER_VARS[PHP_SELF]."?id=".$row[id].">".$row[id]."</a>");
}
?>
<?
$id =$HTTP_GET_VARS[id];
$sql = "select stor, liten, kommentarer from bilder where id='$id'";
$result = mysql_query($sql) or die("Nu blev det snett 2: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
$stor = $row[stor];
$liten = $row[liten];
$kommentarer = $row[kommentarer];
}
?>
<!--Formulär för ändringarna-->
<center><font size="4">Uppdatera galleri/bilder</font></center>
<form name="form2" method="POST" action="<?echo($HTTP_SERVER_VARS[PHP_SELF])?>">
Stor bild: <input type="text" size="50" name="stor2" value="<?echo($stor)?>"><br>
Liten bild: <input type="text" size="50" name="liten2" value="<?echo($liten)?>"><br>
Kommentar:<br><textarea cols="15" rows="5" name="kommentarer2"><?echo($kommentarer)?></textarea><br>
<input type="submit" name="submit2" value="submit">
</form>
<?
//skicka in ändringarna
if (isset($HTTP_POST_VARS[submit2])) {
$sql2 = "UPDATE bilder SET ".
"stor='$HTTP_POST_VARS[stor2]',".
"liten='$HTTP_POST_VARS[liten2]',".
"kommentarer='$HTTP_POST_VARS[kommentarer2]'".
"WHERE id='$HTTP_GET_VARS[id]'";
mysql_query($sql2) or die("Kunde inte utföra kommandot" . mysql_error());
}
?>
ingenting läggs till i databasen!
</body>
</html>
J jorgen Medlem sedan feb. 2001 2 412 inlägg asch, det första man blir blind på är ögonen :(
[Redigerat av jorgen den 23 nov 2001]
L LarsG Medlem sedan dec. 2000 12 464 inlägg Kommer du in den här koden alls?
if (isset($HTTP_POST_VARS[submit2])) {
Kan du lägga till trace
$sql2 = "UPDATE bilder SET ".
"stor='$HTTP_POST_VARS[stor2]',".
"liten='$HTTP_POST_VARS[liten2]',".
"kommentarer='$HTTP_POST_VARS[kommentarer2]'".
"WHERE id='$HTTP_GET_VARS[id]'";
echo "sql: " . $sql;
------------------
essentitia preter non sans multiplicandum
G greymane Medlem sedan juli 2001 711 inlägg LarsG, jag förstår inte riktigt hur du menar... kan du formulera på nåt annat sätt?
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jag tänkte bara att du skulle se om koden exekveras. Om du får en text med updatestatement så vet du att du anropar databasen och om du inte får ut någon text så beror det på att
if (isset($HTTP_POST_VARS[submit2])) {
är falskt. På så sätt kan man lättare se var det går fel.
Sen så rekommenderar PHP-manualen att man skriver
if (isset($HTTP_POST_VARS["submit2"])) {
------------------
essentitia preter non sans multiplicandum
G greymane Medlem sedan juli 2001 711 inlägg nu har jag gjort som du sa:
$sql2 = "UPDATE bilder SET ".
"stor='$HTTP_POST_VARS[stor2]',".
"liten='$HTTP_POST_VARS[liten2]',".
"kommentarer='$HTTP_POST_VARS[kommentarer2]'".
"WHERE id='$HTTP_GET_VARS[id]'";
echo "sql: " . $sql;
men det blir bara samma resultat... btw, ska det inte vara echo "sql: " . $sql2; ?
jo, det där med " har jag också tänkt på. fast jag tycker att de bara vållar massa bekymmer...
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jo jag menade sql2. Men du får alltså inte ut någon text alls?
Sen så när jag tittade på ditt formulär för ändringar så ser jag inte att du hade med id i din querystring.
------------------
essentitia preter non sans multiplicandum
G greymane Medlem sedan juli 2001 711 inlägg nu har jag lagt till id som du sa. det ser ut såhär:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ändra bilder/gallerier</title>
</head>
<body>
<? include("./connection.php")?>
<? //uppdatera galleri och bilder?>
Välj bild att ändra:<br>
<?
//skriv ut alla id med länkar
$sql = "select id from bilder";
$result = mysql_query($sql) or die("nu blev det snett 1: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
echo(" <a href=".$HTTP_SERVER_VARS[PHP_SELF]."?id=".$row[id].">".$row[id]."</a>");
}
?>
<?
//hämta gamla data
$id =$HTTP_GET_VARS[id];
$sql = "select id, stor, liten, kommentarer from bilder where id='$id'";
$result = mysql_query($sql) or die("Nu blev det snett 2: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
$id = $row[id];
$stor = $row[stor];
$liten = $row[liten];
$kommentarer = $row[kommentarer];
}
?>
<!--Formulär för ändringarna där gamla data läggs in-->
<center><font size="4">Uppdatera galleri/bilder</font></center>
<form name="form2" method="POST" action="<?echo($HTTP_SERVER_VARS[PHP_SELF])?>">
Stor bild: <input type="text" size="50" name="stor2" value="<?echo($stor)?>"><br>
Liten bild: <input type="text" size="50" name="liten2" value="<?echo($liten)?>"><br>
Kommentar:<br><textarea cols="15" rows="5" name="kommentarer2"><?echo($kommentarer)?></textarea><br>
<input type="submit" name="submit2" value="submit">
</form>
<?
//skicka in ändringarna
if (isset($HTTP_POST_VARS[submit2])) {
$sql2 = "UPDATE bilder SET ".
"stor='$HTTP_POST_VARS[stor2]',".
"liten='$HTTP_POST_VARS[liten2]',".
"kommentarer='$HTTP_POST_VARS[kommentarer2]'".
"WHERE id='$id'";
echo "sql: " . $sql2;
mysql_query($sql2) or die("Kunde inte utföra kommandot" . mysql_error());
}
else
{
}
?>
ingenting läggs till i databasen!
</body>
</html>
och felmedd. jag får är:
Warning: Supplied argument is not a valid MySQL result resource in /www/arts/visa2.php on line 27
G greymane Medlem sedan juli 2001 711 inlägg jag har löst bekymmret! tack för all hjälp, i synnerhet tipset om trace