Fout met UPDATE query (Opgelost)
tbsites - 22/09/2007 11:04
Onbekend
Hallo ik heb deze code:
<?php
//connect
$open_table = mysql_query("SELECT * FROM page2 WHERE id= ".$_GET['id']) or die (mysql_error());
while ($gegevens = mysql_fetch_array($open_table))
{
$stitel = $gegevens['title'];
$stime = $gegevens['date'];
$sdoor = $gegevens['door'];
$sbericht = $gegevens['bericht'];
}
if(isset($_POST['verzenden']))
{
$stitel = addslashes($_POST['titel']);
$sdoor = addslashes($_POST['door']);
$stijd = addslashes($_POST['tijd']);
$sbericht = ($_POST['bericht']);
$spostid = addslashes($_POST['postid']);
mysql_query("UPDATE page2 (title, door, date, bericht, page_id) VALUES ('".$stitel."', '".$sdoor."', '".$stijd."', '".$sbericht."', '".$spostid."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else
{
?>
<form action="admin.php?page=toevoegen2" method="POST">
Titel: <input type="text" name="titel" value="<? echo $stitel; ?>"><br />
Door: <input type="text" name="door" value="<? echo $sdoor; ?>"><br />
Tijd: <input type="text" name="tijd" value="<? echo $stime; ?>"><br />
Page-ID: <input type="text" name="postid" value="<? echo $_GET['id'] ?>"><BR />
<textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
<? echo $sbericht; ?>
</textarea>
<br />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?
}
?>
<?php
//connect
{
$stitel = $gegevens [ 'title' ] ;
$stime = $gegevens [ 'date' ] ;
$sdoor = $gegevens [ 'door' ] ;
$sbericht = $gegevens [ 'bericht' ] ;
}
if ( isset ( $_POST [ 'verzenden' ] ) ) {
$sbericht = ( $_POST [ 'bericht' ] ) ;
mysql_query ( "UPDATE page2 (title, door, date, bericht, page_id) VALUES ('" . $stitel . "', '" . $sdoor . "', '" . $stijd . "', '" . $sbericht . "', '" . $spostid . "')" ) or
die ( mysql_error ( ) ) ;
echo 'Je gegevens zijn succesvol in de database geplaatst' ; }
else
{
?>
<form action="admin.php?page=toevoegen2" method="POST">
Titel: <input type="text" name="titel" value="
<? echo $stitel ; ?> "><br />
Door: <input type="text" name="door" value="
<? echo $sdoor ; ?> "><br />
Tijd: <input type="text" name="tijd" value="
<? echo $stime ; ?> "><br />
Page-ID: <input type="text" name="postid" value="
<? echo $_GET [ 'id' ] ?> "><BR />
<textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
</textarea>
<br />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?
}
?>
maar helaas update hij de query niet wat doe ik fout?
28 antwoorden
Gesponsorde links
Chupskie - 22/09/2007 11:17 (laatste wijziging 22/09/2007 11:19)
MySQL beginner
Omdat een UPDATE query niet hetzelfde is als een INSERT query ;)
Probeer is deze manier:
mysql_query("UPDATE page SET naam='naam' WHERE id='1'") or die (mysql_error());
ipv
mysql_query("UPDATE page2 (naam) VALUES ('".$naam."') ") or die (mysql_error());
Succes
tbsites - 22/09/2007 12:58
Onbekend
ja maar hoe moet ik dat doen met variabele
Koen - 22/09/2007 13:03 (laatste wijziging 22/09/2007 13:20)
PHP expert
<?php
//connect
$open_table = mysql_query("SELECT * FROM page2 WHERE id= ".$_GET['id']) or die (mysql_error());
while ($gegevens = mysql_fetch_array($open_table))
{
$stitel = $gegevens['title'];
$stime = $gegevens['date'];
$sdoor = $gegevens['door'];
$sbericht = $gegevens['bericht'];
}
if(isset($_POST['verzenden']))
{
$stitel = addslashes($_POST['titel']);
$sdoor = addslashes($_POST['door']);
$stijd = addslashes($_POST['tijd']);
$sbericht = ($_POST['bericht']);
$spostid = addslashes($_POST['postid']);
mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `weetikveel` = 'weetikveel'") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else
{
?>
<form action="admin.php?page=toevoegen2" method="POST">
Titel: <input type="text" name="titel" value="<? echo $stitel; ?>"><br />
Door: <input type="text" name="door" value="<? echo $sdoor; ?>"><br />
Tijd: <input type="text" name="tijd" value="<? echo $stime; ?>"><br />
Page-ID: <input type="text" name="postid" value="<? echo $_GET['id'] ?>"><BR />
<textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
<? echo $sbericht; ?>
</textarea>
<br />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?
}
?>
<?php
//connect
{
$stitel = $gegevens [ 'title' ] ;
$stime = $gegevens [ 'date' ] ;
$sdoor = $gegevens [ 'door' ] ;
$sbericht = $gegevens [ 'bericht' ] ;
}
if ( isset ( $_POST [ 'verzenden' ] ) ) {
$sbericht = ( $_POST [ 'bericht' ] ) ;
mysql_query ( "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . "', `page_id` = " . $spostid . " WHERE `weetikveel` = 'weetikveel'" ) or
die ( mysql_error ( ) ) ;
echo 'Je gegevens zijn succesvol in de database geplaatst' ; }
else
{
?>
<form action="admin.php?page=toevoegen2" method="POST">
Titel: <input type="text" name="titel" value="
<? echo $stitel ; ?> "><br />
Door: <input type="text" name="door" value="
<? echo $sdoor ; ?> "><br />
Tijd: <input type="text" name="tijd" value="
<? echo $stime ; ?> "><br />
Page-ID: <input type="text" name="postid" value="
<? echo $_GET [ 'id' ] ?> "><BR />
<textarea id="elm1" name="bericht" rows="15" cols="80" style="width: 100%">
</textarea>
<br />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?
}
?>
dit is de juiste code
Chupskie - 22/09/2007 13:06 (laatste wijziging 22/09/2007 13:07)
MySQL beginner
Hetzelfde als je normaal doet.
Standaard opbouw:
UPDATE tabelnaam SET kolom1='waarde1', kolom2='waarde2' WHERE kolom3='waarde3'
UPDATE tabelnaam SET kolom1= 'waarde1' , kolom2= 'waarde2' WHERE kolom3= 'waarde3'
Jouw voorbeeld, zal dus zoiets moeten worden:
mysql_query("UPDATE page2 SET title='".$stitel."', door='".$sdoor."', date='".$stijd."', bericht='".$sbericht."', page_id='".$spostid."' WHERE id='".$_POST['id']."' ") or die (mysql_error());
mysql_query ( "UPDATE page2 SET title='" . $stitel . "', door='" . $sdoor . "', date='" . $stijd . "', bericht='" . $sbericht . "', page_id='" . $spostid . "' WHERE id='" . $_POST [ 'id' ] . "' " ) or
die ( mysql_error ( ) ) ;
Zie: Sima Update Tutorial voor meer info
Succes
edit: iemand was me voor.. mjah, nu moet je er wel uitkomen
tbsites - 22/09/2007 13:18
Onbekend
Oke ik heb nu dit:
mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht.", `page_id` = ".$spostid." WHERE id= ".$_GET['id']) or die (mysql_error());
mysql_query ( "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . ", `page_id` = " . $spostid . " WHERE id= " . $_GET [ 'id' ] ) or
die ( mysql_error ( ) ) ;
maar dan krijg ik de volgende error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Koen - 22/09/2007 13:20
PHP expert
Ok foutje ;o
:p
er staat ergens in je query
`bericht` = '".$sbericht."
gewoon een ' achter zetten,
dus `bericht` = '".$sbericht."'
tbsites - 22/09/2007 13:22
Onbekend
dat haalt niks uit het is de WHERE
tbsites - 22/09/2007 13:24
Onbekend
werkt ook niet
Koen - 22/09/2007 13:25
PHP expert
tbsites schreef:
dat haalt niks uit het is de WHERE
Met die where is niets fout hoor.
gebruik mijn code (ondertussen gefixt) moet werken, er staat alleszins geen syntax fout meer in.
Chupskie - 22/09/2007 13:25
MySQL beginner
Wat werkt er niet? Wat is je code nu? En wat is de foutmelding nu?
tbsites - 22/09/2007 13:27
Onbekend
het is jouw code ik heb POST veranderd in GET de foutmelding: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Koen - 22/09/2007 13:28
PHP expert
Gebruik de code die ik zei dan en verander WHERE `weetikveel` = 'weetikveel' in wat jij gebruikt.
tbsites - 22/09/2007 13:37
Onbekend
Ik heb nu dit:
("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id']) or die (mysql_error());
( "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . "', `page_id` = " . $spostid . " WHERE `id` = " . $_GET [ 'id' ] ) or
die ( mysql_error ( ) ) ;
maar dan krijg ik de volgende error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Koen - 22/09/2007 13:40
PHP expert
$qry = mysql_query("UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id']) or die (mysql_error());
echo $qry;
$qry = mysql_query ( "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . "', `page_id` = " . $spostid . " WHERE `id` = " . $_GET [ 'id' ] ) or
die ( mysql_error ( ) ) ;
wat geeft hij zo?
tbsites - 22/09/2007 13:43
Onbekend
geeft hetzelfde
Koen - 22/09/2007 13:45
PHP expert
Nee wat echo't hij?
tbsites - 22/09/2007 13:46
Onbekend
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Koen - 22/09/2007 13:53
PHP expert
$qry = "UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id'];
mysql_query($qry)or die(Mysql_Error());
echo $qry;
$qry = "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . "', `page_id` = " . $spostid . " WHERE `id` = " . $_GET [ 'id' ] ;
bedoelde ik, doe zo eens
tbsites - 22/09/2007 13:54
Onbekend
hetzelfde
Koen - 22/09/2007 13:56
PHP expert
hij moet je query echo'en hoor, heb je gedaan wat ik zei?
tbsites - 22/09/2007 13:58 (laatste wijziging 22/09/2007 13:59)
Onbekend
ja dan krijg ik dat(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
zointer - 22/09/2007 14:25
HTML gevorderde
Verander het veldnaam date eens naar datum
Stijn - 22/09/2007 14:46
PHP expert
date is geen gereserveerd woord hoor zointer.
@tbsites: Wat zegt phpmyadmin en wat zegt de php code? Geef eens die twee outputs.
tbsites - 22/09/2007 14:54 (laatste wijziging 22/09/2007 14:55)
Onbekend
hoe bedoel je met phpmyadmin??
Als script krijg ik eerst gewoon het forum(dat doet het) en als ik op verzenden druk krijg ik de error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Stijn - 22/09/2007 15:05
PHP expert
$qry = "UPDATE `page2` SET `title` = '".$stitel."', `door` = '".$sdoor."', `date` = '".$stijd."', `bericht` = '".$sbericht."', `page_id` = ".$spostid." WHERE `id` = ".$_GET['id'];
echo $qry . '<br />';
mysql_query($qry)or die(Mysql_Error());
$qry = "UPDATE `page2` SET `title` = '" . $stitel . "', `door` = '" . $sdoor . "', `date` = '" . $stijd . "', `bericht` = '" . $sbericht . "', `page_id` = " . $spostid . " WHERE `id` = " . $_GET [ 'id' ] ;
Plak de output eens hier
Van phpmyadmin bedoel ik. Ga eens naar page2 tabel en edit daar eens een rij. Als je op de edit knop drukt zie je de SQL code bovenaan staan die uitgevoerd is. Als die niet overeen komt met die $qry dan heb je iets mis hé .
tbsites - 22/09/2007 15:19 (laatste wijziging 23/09/2007 08:43)
Onbekend
Ik krijg met jouw code weer een error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
als ik wat edit met phpmyadmin krijg ik:
SQL-query:
UPDATE `page2` SET `bericht` = '<p>Welkom op <em>TBSites<img src="jscripts/tiny_mce/../../../../../../../../mysql/admin/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /></em></p>EDIT!' WHERE `id` =1 LIMIT 1 ;
SQL- query:
UPDATE `page2` SET `bericht` = '<p>Welkom op <em>TBSites<img src="jscripts/tiny_mce/../../../../../../../../mysql/admin/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /></em></p>EDIT!' WHERE `id` = 1 LIMIT 1 ;
EDIT: al opgelost miste boven aan de code een "
Gesponsorde links
Dit onderwerp is gesloten .