Beste.

Ik heb een script geschreven om onze self assembly systemen op onze site via een admin aan te passen. Nu, hij doet alles goed, maar wanneer ik op submit duw veranderd er niks in de db.

<?php
include('../config.php');

  if ($_SERVER['REQUEST_METHOD'] != "POST"){
    
    $select= mysql_query("SELECT * FROM systemen WHERE systeem_id= '1'");
    $row= mysql_fetch_object($select);
    ?>
    <form method="POST" action="systemen_admin.php">
    <table width="80%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="25%">Behuizing:</td>
		<td width="75%"><input type="text" name="behuizing" value="<?php echo $row->behuizing; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Processor:</td>
		<td width="75%"><input type="text" name="processor" value="<?php echo $row->processor; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Moederbord:</td>
		<td width="75%"><input type="text" name="moederbord" value="<?php echo $row->moederbord; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Geheugen:</td>
		<td width="75%"><input type="text" name="geheugen" value="<?php echo $row->geheugen; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Diskette:</td>
		<td width="75%"><input type="text" name="diskette" value="<?php echo $row->diskette; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Harde Schijf:</td>
		<td width="75%"><input type="text" name="hardeschijf" value="<?php echo $row->hardeschijf; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">DVDRom:</td>
		<td width="75%"><input type="text" name="dvdrom" value="<?php echo $row->dvdrom; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">DVD Rewriter:</td>
		<td width="75%"><input type="text" name="dvdrewriter" value="<?php echo $row->dvdrewriter; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Grafische Kaart:</td>
		<td width="75%"><input type="text" name="grafischekaart" value="<?php echo $row->grafischekaart; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Muis:</td>
		<td width="75%"><input type="text" name="muis" value="<?php echo $row->muis; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Toetsenbord:</td>
		<td width="75%"><input type="text" name="toetsenbord" value="<?php echo $row->toetsenbord; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Usb:</td>
		<td width="75%"><input type="text" name="usb" value="<?php echo $row->usb; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Netwerkkaart:</td>
		<td width="75%"><input type="text" name="netwerkkaart" value="<?php echo $row->netwerkkaart; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Scherm:</td>
		<td width="75%"><input type="text" name="scherm" value="<?php echo $row->scherm; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Software:</td>
		<td width="75%"><input type="text" name="software" value="<?php echo $row->software; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Speakers:</td>
		<td width="75%"><input type="text" name="speakers" value="<?php echo $row->speakers; ?>"</td>
	  </tr>
	  <tr>
        <td width="25%">Prijs:</td>
		<td width="75%"><input type="text" name="prijs" value="<?php echo $row->prijs; ?>"</td>
	  </tr>
	  <tr>
	    <td colspan="2" width="100%"><input type="submit" name="submit" value="Aanpassen"></td>
	  </tr>
	</table>
	</form>
  <?php	
  }
  else {
    
    $behuizing= ($_POST['behuizing']);
	$processor= ($_POST['processor']);
	$moederbord= ($_POST['moederbord']);
	$geheugen= ($_POST['geheugen']);
	$diskette= ($_POST['diskette']);
	$hardeschijf= ($_POST['hardeschijf']);
	$dvdrom= ($_POST['dvdrom']);
	$dvdrewriter= ($_POST['dvdrewriter']);
	$grafischekaart= ($_POST['grafischekaart']);
	$muis= ($_POST['muis']);
	$toetsenbord= ($_POST['toetsenbord']);
	$usb= ($_POST['usb']);
	$netwerkkaart= ($_POST['netwerkkaart']);
	$software= ($_POST['software']);
	$scherm= ($_POST['scherm']);
	$speakers= ($_POST['speakers']);
	$prijs= ($_POST['prijs']);
	
	$update = mysql_query("UPDATE systemen SET behuizing= '" .$behuizing. "', processor= '" .$processor. "', 
	moederbord= '" .$moederbord. "', geheugen= '" .$geheugen."', diskette= '" .$diskette. "', 
	hardeschijf= '" .$hardeschijf ."', dvdrom= '" .$dvdrom. "', dvdrewriter= '" .$dvdrewriter. "', 
	grafischekaart= '" .$grafischekaart."', muis= '" .$muis. "', toetsenbord= '" .$toetsenbord. "',
	usb= '" .$usb. "', netwerkaart= '" .$netwerkkaart. "', software= '" .$software."', scherm= '" .$scherm. "',
	speakers= '" .$speakers."', prijs= '" .$prijs. "' WHERE systeem_id= '1'");
	
	echo 'Uw aanpassingen zijn succesvol uitgevoerd.';     
  }  

?>


Iemand een idee waar het probleem kan liggen.
VB: admin: http://brainstorm.lost-platoon.be/admin/systemen_admin.php

Content: http://brainstorm.lost-platoon.be/systemen_part.php

Alvast bedankt mensen.
geen action aan je formtag meegegeven
om je query uit te voeren heeft het geen zin een variabele mysql_query mee te geven als je de variabele niet gebruikt, dan gebeurt er dus niks
Wat moet ik juist in de action tag zetten dan?
En moet ik de mysql_query bij de update dan weglaten?

Alsvast bedankt jongens
ipv

$update = mysql_query()

gewoon

mysql_query()

en eventueel een if om te kijken of de query goed is uitgevoerd
<form method="POST" action="depaginawaardieheenmoet.php">
<?php
$update = "UPDATE systemen SET behuizing= '" .$behuizing. "', processor= '" .$processor. "',
moederbord= '" .$moederbord. "', geheugen= '" .$geheugen."', diskette= '" .$diskette. "',
hardeschijf= '" .$hardeschijf ."', dvdrom= '" .$dvdrom. "', dvdrewriter= '" .$dvdrewriter. "',
grafischekaart= '" .$grafischekaart."', muis= '" .$muis. "', toetsenbord= '" .$toetsenbord. "',
usb= '" .$usb. "', netwerkaart= '" .$netwerkkaart. "', software= '" .$software."', scherm= '" .$scherm. "',
speakers= '" .$speakers."', prijs= '" .$prijs. "'";

if(mysql_affected_rows(mysql_query($update)) != 0)
{
echo 'Uw aanpassingen zijn succesvol uitgevoerd.';
}
else
{
echo 'Mislukt';
}
?>

In de query zie ik ook geen WHERE staan.
ik heb de form, de where en de controle aangepast.
Maar het lukt nog steeds niet. En na submit krijg ik nu volgende melding:


Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in /home/brain/public_html/admin/systemen_admin.php on line 113
Mislukt

Iemand een idee?
Ja zeker! De query is mislukt. Maar omdat je dat niet controleert, loopt de functie mysql_affected_rows() in de soep.

Oplossing: Foutafhandeling inbouwen. Maar dat geeft niet, dat moest je toch al doen. Een foutafhandeling mag nooit en te nimmer ontbreken. Het is de basis van het programmeren.
<?php
include('../config.php');

if ($_SERVER['REQUEST_METHOD'] != "POST"){

$select= mysql_query("SELECT * FROM systemen WHERE systeem_id= '1'");
$row= mysql_fetch_object($select);
?>
<form method="POST" action="systemen_admin.php">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25%">Behuizing:</td>
<td width="75%"><input type="text" name="behuizing" value="<?php echo $row->behuizing; ?>"</td>
</tr>
<tr>
<td width="25%">Processor:</td>
<td width="75%"><input type="text" name="processor" value="<?php echo $row->processor; ?>"</td>
</tr>
<tr>
<td width="25%">Moederbord:</td>
<td width="75%"><input type="text" name="moederbord" value="<?php echo $row->moederbord; ?>"</td>
</tr>
<tr>
<td width="25%">Geheugen:</td>
<td width="75%"><input type="text" name="geheugen" value="<?php echo $row->geheugen; ?>"</td>
</tr>
<tr>
<td width="25%">Diskette:</td>
<td width="75%"><input type="text" name="diskette" value="<?php echo $row->diskette; ?>"</td>
</tr>
<tr>
<td width="25%">Harde Schijf:</td>
<td width="75%"><input type="text" name="hardeschijf" value="<?php echo $row->hardeschijf; ?>"</td>
</tr>
<tr>
<td width="25%">DVDRom:</td>
<td width="75%"><input type="text" name="dvdrom" value="<?php echo $row->dvdrom; ?>"</td>
</tr>
<tr>
<td width="25%">DVD Rewriter:</td>
<td width="75%"><input type="text" name="dvdrewriter" value="<?php echo $row->dvdrewriter; ?>"</td>
</tr>
<tr>
<td width="25%">Grafische Kaart:</td>
<td width="75%"><input type="text" name="grafischekaart" value="<?php echo $row->grafischekaart; ?>"</td>
</tr>
<tr>
<td width="25%">Muis:</td>
<td width="75%"><input type="text" name="muis" value="<?php echo $row->muis; ?>"</td>
</tr>
<tr>
<td width="25%">Toetsenbord:</td>
<td width="75%"><input type="text" name="toetsenbord" value="<?php echo $row->toetsenbord; ?>"</td>
</tr>
<tr>
<td width="25%">Usb:</td>
<td width="75%"><input type="text" name="usb" value="<?php echo $row->usb; ?>"</td>
</tr>
<tr>
<td width="25%">Netwerkkaart:</td>
<td width="75%"><input type="text" name="netwerkkaart" value="<?php echo $row->netwerkkaart; ?>"</td>
</tr>
<tr>
<td width="25%">Scherm:</td>
<td width="75%"><input type="text" name="scherm" value="<?php echo $row->scherm; ?>"</td>
</tr>
<tr>
<td width="25%">Software:</td>
<td width="75%"><input type="text" name="software" value="<?php echo $row->software; ?>"</td>
</tr>
<tr>
<td width="25%">Speakers:</td>
<td width="75%"><input type="text" name="speakers" value="<?php echo $row->speakers; ?>"</td>
</tr>
<tr>
<td width="25%">Prijs:</td>
<td width="75%"><input type="text" name="prijs" value="<?php echo $row->prijs; ?>"</td>
</tr>
<tr>
<td colspan="2" width="100%"><input type="submit" name="submit" value="Aanpassen"></td>
</tr>
</table>
</form>
<?php
}
else {

$behuizing= ($_POST['behuizing']);
$processor= ($_POST['processor']);
$moederbord= ($_POST['moederbord']);
$geheugen= ($_POST['geheugen']);
$diskette= ($_POST['diskette']);
$hardeschijf= ($_POST['hardeschijf']);
$dvdrom= ($_POST['dvdrom']);
$dvdrewriter= ($_POST['dvdrewriter']);
$grafischekaart= ($_POST['grafischekaart']);
$muis= ($_POST['muis']);
$toetsenbord= ($_POST['toetsenbord']);
$usb= ($_POST['usb']);
$netwerkkaart= ($_POST['netwerkkaart']);
$software= ($_POST['software']);
$scherm= ($_POST['scherm']);
$speakers= ($_POST['speakers']);
$prijs= ($_POST['prijs']);

$update = "UPDATE systemen SET behuizing= '" .$behuizing. "', processor= '" .$processor. "',
moederbord= '" .$moederbord. "', geheugen= '" .$geheugen."', diskette= '" .$diskette. "',
hardeschijf= '" .$hardeschijf ."', dvdrom= '" .$dvdrom. "', dvdrewriter= '" .$dvdrewriter. "',
grafischekaart= '" .$grafischekaart."', muis= '" .$muis. "', toetsenbord= '" .$toetsenbord. "',
usb= '" .$usb. "', netwerkaart= '" .$netwerkkaart. "', software= '" .$software."', scherm= '" .$scherm. "',
speakers= '" .$speakers."', prijs= '" .$prijs. "' WHERE systeem_id= '1'";

if(mysql_affected_rows(mysql_query($update)) != 0)
{
echo 'Uw aanpassingen zijn succesvol uitgevoerd.';
}
else
{
echo 'Mislukt';
}
}

?>

Ik controleer nu toch wel of de query is uitgevoerd.
Of ben ik mis?
Frank bedoelt meer dit:
<?php
$result = mysql_query($update);
if($result)
{
if(mysql_affected_rows($result) != 0)
{
echo 'Uw aanpassingen zijn succesvol uitgevoerd.';
}
else
{
echo 'Geen records gevonden om te updaten';
}
}
else
{
echo 'Query is mislukt';
}
?>
Wat SanThe zegt, en dan nog even mysql_error() en de query zelf ook echoen. Dan weet je ook wát er mis gaat.

<?php

// eerste stuk van de code en dan:

else
{
echo 'Query is mislukt: '.mysql_error().'<br />';
echo 'Met query: '.$update;
}
?>

Reageren