webForumDet fria alternativet

avlusningshjälp med UPDATE

Databaser & SQL

8 svar · 205 visningar · startad av greymane

Medlem sedan juli 2001711 inlägg
Frågan#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>
Medlem sedan feb. 20012 412 inlägg
#2

asch, det första man blir blind på är ögonen :(

[Redigerat av jorgen den 23 nov 2001]

Medlem sedan dec. 200012 464 inlägg
#3

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

Medlem sedan juli 2001711 inlägg
#4

LarsG, jag förstår inte riktigt hur du menar... kan du formulera på nåt annat sätt?

Medlem sedan dec. 200012 464 inlägg
#5

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

Medlem sedan juli 2001711 inlägg
#6

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...

Medlem sedan dec. 200012 464 inlägg
#7

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

Medlem sedan juli 2001711 inlägg
#8

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

Medlem sedan juli 2001711 inlägg
#9

jag har löst bekymmret! tack för all hjälp, i synnerhet tipset om trace

267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)