hallo,

Ben al een tijdje bezig wat hier mis gaat.
Ik heb een updat scriptje voor het bewerken van data in de mysql database gemaakt.
Op de een of andere manier lukt het niet om de database te updaten.
wie heeft er een suggestie, hier onder de 2 bestandjes:

Edit.php:


<head>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","***");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);

$id = $_GET["id"];

$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");   
 
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="get" action="update.php">
  <label> 
  <input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
  <br />
  <input name="titel" type="text" id="titel" value="<?    echo "".$row['Titel'].""; ?>" />
  <br />
  <br />
  <textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
	window.onload = function()
	{
		CKEDITOR.replace( 'content' );
	};
</script>
  </label>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Submit" />
    </label>
  </p>
</form>
</body>
<? } ?>

Update.php:


<?php

$connect = mysql_connect("localhost","***","****");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);

mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");

mysql_close($con);
?>


Alvast bedankt voor jullie hulp!
Selecteer wat je wilt hebbe. Gebruik geen die. Zie [php]mysql_real_escape_string[/php] of type cast naar int bijvoorbeeld. Dus kopieeƫr niet onnodig variabelen. Gebruik mysql_error alleen voor de development. Foutafhandeling ontbreekt.
Oke snap ik, maar lost dit mijn probleem op?
Rick steenbergen op 06/08/2010 20:24:13

Oke snap ik, maar lost dit mijn probleem op?


Pas bovengenoemde punten toe en vertel wat er gebeurd.
Rick steenbergen op 06/08/2010 20:24:13

Oke snap ik, maar lost dit mijn probleem op?


Ja, dan staat de fout op je scherm.

PS: Als je ook even de error_reporting aanzet wordt het nog duidelijker.
hmm kom er niet echt uit heb nu dit maar ben nog niet zo thuis in fout afhandeling en hoe je dit toepast.



edit.php
<head>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","****");

mysql_select_db('music',$connect);

$id = $_GET["id"];

$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");   
mysql_real_escape_string($ID);
 
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="post" action="update.php">
  <label> 
  <input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
  <br />
  <input name="titel" type="text" id="titel" value="<?    echo "".$row['Titel'].""; ?>" />
  <br />
  <br />
  <textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
	window.onload = function()
	{
		CKEDITOR.replace( 'content' );
	};
</script>
  </label>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Submit" />
    </label>
  </p>
</form>
</body>
<? } ?>


update.php:

<?php

$connect = mysql_connect("localhost","**","**");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);

mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");
mysql_real_escape_string($ID);

mysql_close($con);
?>

in iedergeval alvast bedankt
Alsjeblieft. Bekijk de documentatie voordat je wat doet.
[php]mysql_real_escape_string[/php]
dat is precies wat ik net gedaan heb maar kan nog niet egt uit de voeten met de informatie die daar staat ik begrijp niet hoe ik dit in deze situatie toepas.

Toevoeging op 06/08/2010 21:57:57:

Ben er nu achter dat er iet is het update-script niet klopt omdat de waarde via post gewoon worden doorgegeven naar de update.php pagina. daar gaat dus iets mis met de verwerking heb het update script iets aangepast maar nog steeds word er niks geupdate in de database kan iemand mij helpen hier het update script:


<?php

$connect = mysql_connect("localhost","**","**");
mysql_select_db('music',$connect);

if ( $_SERVER['REQUEST_METHOD'] == 'POST'  &&
   isset($_POST['content'], $_POST['titel']) )
   {

$query = "UPDATE Content (Titel, Content WHERE ID = '".$_GET["ID"]."')
                VALUES (
				'".mysql_real_escape_string($_POST['titel'])."',
                  '".mysql_real_escape_string($_POST['content'])."')";
mysql_query($query);
mysql_close($con);
}
?>
Zorg dat je een juiste formulering gebruikt voor een query:
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value

Met values kan ook, maar zorg ook dan dat je de juiste syntax gebruikt.

Reageren