Foutmelding met Updaten

Status
Niet open voor verdere reacties.

tsedney

Gebruiker
Lid geworden
2 jun 2008
Berichten
42
Ik blijf deze foutmelding krijgen

FOUT: 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

Dit is mijn code....

PHP:
<?php
// verbinding met database invoegen

$host = "localhost";
$username = "root";
$dbnaam = "makelaar";

$db=mysql_connect ($host, $username) or die (mysql_error());
mysql_select_db ($dbnaam, $db) or die (mysql_error());




// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
	// query samenstellen
	$query="UPDATE vraag SET
		naam = '". $_POST["naam"] ."', 
		email = '". $_POST["email"] . "', 
		bericht = '". $_POST["bericht"] ."', 
		antwoord = '". $_POST["antwoord"] . "' 
		WHERE id=" .$_POST["id"];
	$result = mysql_query($query) or die ("FOUT: " . mysql_error());
	echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
	if ($result){
		echo ("Record nummer " .$_POST["id_vraag"] . " is bijgewerkt<br>\n");
		echo ("<a href=\"oef_1204.php\">Terug naar het overzicht</a>");
	}
}else{
	// pagina heeft zichzelf nog niet aangeroepen, 
	// formulier tonen om gegevens te bewerken
		$query="SELECT * FROM vraag WHERE id_vraag=" . $_GET["id_vraag"];
		$result = mysql_query($query) or die ("FOUT: " . mysql_error());
		
?>
<html>
<head>
	<title>Bewerken: wijzig de gegevens</title>
</head>
<body>
<h2>Wijzig deze gegevens:</h2>
<?php
// gegevens ophalen en toekennen aan tijdelijke variabelen
while ($rij = mysql_fetch_array($result)){
	$na = $rij['naam']; 
	$ema = $rij['email'];
	$ber = $rij['bericht'];
	$ant = $rij['antwoord'] ;
}?>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
	<input type="hidden" name="bevestiging" value="1">
	<input type="hidden" name="id" value="<?php echo($_GET["id_vraag"]);?>">
Naam:		<input type="text" name="naam" value="<?php echo($na);?>" size="30"><br>
E-Mail		<input type="text" name="email" value="<?php echo($ema);?>" size="30"><br>
Bericht		<input type="text" name="bericht" value="<?php echo($ber);?>" size="5"><br>
Antwoord	<input type="text" name="antwoord" value="<?php echo($ant);?>" size="5""><br>
<hr>
<input type="Submit" value="Bijwerken">
<input type="Button" value="Terug" onclick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>


Vast bedankt!! :thumb::thumb:
 
PHP:
$query="SELECT * FROM vraag WHERE id_vraag='" . mysql_real_escape_string($_GET["id_vraag"]) ."'";

Even quotes om de WHERE en ook de beveiliging wat verbeterd ;)
 
Thanks ik ben die foutmelding kwijt..
Alleen update hij nog steeds geen gevens..

Ik krij het volgende te zien:

De volgende opdracht is uitgevoerd: SELECT * FROM vraag WHERE id_vraag=''
Record nummer 21 is bijgewerkt
Terug naar het overzicht


Ergens in dat ID_vraag gaat het denk ik nog niet goed.

Dit is mijn code.



PHP:
<?php
// verbinding met database invoegen

/*$host = "localhost";
$username = "root";
$dbnaam = "makelaar";

$db=mysql_connect ($host, $username) or die (mysql_error());
mysql_select_db ($dbnaam, $db) or die (mysql_error());
*/


//connect to mysql
//change user and password to your mySQL name and password
mysql_connect("localhost","root"); 
    
//select which database you want to edit
mysql_select_db("makelaar"); 

//select the table
$result = mysql_query("select * from vraag");


// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
    // query samenstellen
    
    $query="SELECT * FROM vraag WHERE id_vraag='" . mysql_real_escape_string($_GET["id_vraag"]) ."'";  
    /*$query="UPDATE vraag SET
        naam = '". $_POST["naam"] ."', 
        email = '". $_POST["email"] . "', 
        bericht = '". $_POST["bericht"] ."', 
        antwoord = '". $_POST["antwoord"] . "' 
        WHERE id_vraag=" .$_POST["id_vraag"];*/
        
    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
    echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
    if ($result){
        echo ("Record nummer " .$_POST["id_vraag"] . " is bijgewerkt<br>\n");
        echo ("<a href=\"oef_1204.php\">Terug naar het overzicht</a>");
    }
}else{
    // pagina heeft zichzelf nog niet aangeroepen, 
    // formulier tonen om gegevens te bewerken
    $query="SELECT * FROM vraag WHERE id_vraag='" . mysql_real_escape_string($_GET["id_vraag"]) ."'";  
        $result = mysql_query($query) or die ("FOUT: " . mysql_error());
        
?>
<html>
<head>
    <title>Bewerken: wijzig de gegevens</title>
</head>
<body>
<h2>Wijzig deze gegevens:</h2>
<?php
// gegevens ophalen en toekennen aan tijdelijke variabelen
while ($rij = mysql_fetch_array($result)){
    $na = $rij['naam']; 
    $ema = $rij['email'];
    $ber = $rij['bericht'];
    $ant = $rij['antwoord'] ;
}?>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
    <input type="hidden" name="bevestiging" value="1">
    <input type="hidden" name="id_vraag" value="<?php echo($_GET["id_vraag"]);?>">
Naam:        <input type="text" name="naam" value="<?php echo($na);?>" size="30"><br>
E-Mail        <input type="text" name="email" value="<?php echo($ema);?>" size="30"><br>
Bericht        <input type="text" name="bericht" value="<?php echo($ber);?>" size="5"><br>
Antwoord    <input type="text" name="antwoord" value="<?php echo($ant);?>" size="5""><br>
<hr>
<input type="Submit" value="Bijwerken">
<input type="Button" value="Terug" onclick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>


:thumb: vast bedankt.
 
Je geeft ook wel een id_vraag mee in de URL?

Dus het ziet er iets uit zoals index.php?id_vraag=1?
 
Ja ik geef de vraag id_vraag mee in url.. deze code gebeurt er eerst.... de vorige pagina...
wellicht zie je hier iets in?

PHP:
 <?php
$dbnaam = makelaar;

mysql_connect("localhost","root");

mysql_select_db ("makelaar")
or die ("fout");

$result = mysql_query("SELECT * FROM vraag");

?>
<html>
<head>
<title>Database openen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
	background-color: #00CCCC;
}
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style3 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
-->
</style></head>

<body>
<!-- eerst de kolomkoppen voor de tabel in plain HTML schrijven -->
<table border="1" width="93%" align="center">
<tr>
	<td colspan="6"><h2 align="center" class="style1">Gestelde vragen </h2></td>
</tr>
<tr><th width="5%"><span class="style3">ID</span></th>
	<th width="17%"><span class="style3">Naam</span></th>
	<th width="16%" class="style3">Email</th>
	<th width="32%" class="style3">Vraag</th>
 	<th width="30%" class="style3">Antwoord</th>
 	<th width="30%" class="style3">Bewerken</th>
  </tr>
<!-- Vanaf hier de PHP while()-lus. Elke lusdoorgang schrijft
	een tabelrij naar het scherm -->
<?php while ($rij = mysql_fetch_array($result)){

		echo ("<tr><td>". $rij["id_vraag"] . " </td> " .
			"<td>". $rij["naam"] . " </td> " .
			"<td>" . $rij["email"] . " </td> " .
			"<td>" . $rij["bericht"] . " </td> " .
			"<td>" . $rij["antwoord"] . " </td> " .
			"<td><a href=\"bewerkantwoord.php?id_vraag=" . $rij["id_vraag"] .
			"\">Bewerken</a> " .
			" </td></tr>\n ");
	}
?>
<!-- Einde van de lus, tabel afsluiten -->
</table>
<!-- Eventueel rest van de pagina -->



bedankt vast :thumb:
 
PHP:
 <?php 
$dbnaam = "makelaar"; 

mysql_connect("localhost","root"); 

mysql_select_db ($dbnaam) or die (mysql_error()); 

$result = mysql_query("SELECT * FROM vraag"); 

?> 
<html> 
<head> 
<title>Database openen</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> 
<!-- 
body { 
    background-color: #00CCCC; 
} 
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif} 
.style3 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; } 
--> 
</style></head> 

<body> 
<!-- eerst de kolomkoppen voor de tabel in plain HTML schrijven --> 
<table border="1" width="93%" align="center"> 
<tr> 
    <td colspan="6"><h2 align="center" class="style1">Gestelde vragen </h2></td> 
</tr> 
<tr><th width="5%"><span class="style3">ID</span></th> 
    <th width="17%"><span class="style3">Naam</span></th> 
    <th width="16%" class="style3">Email</th> 
    <th width="32%" class="style3">Vraag</th> 
     <th width="30%" class="style3">Antwoord</th> 
     <th width="30%" class="style3">Bewerken</th> 
  </tr> 
<!-- Vanaf hier de PHP while()-lus. Elke lusdoorgang schrijft 
    een tabelrij naar het scherm --> 
<?php
while ($rij = mysql_fetch_assoc($result)){ 
  echo'
  <tr>
   <td>'. $rij['id_vraag'] .'</td>
   <td>'. $rij['naam'] .'</td>
   <td>'. $rij['email'] .'</td>
   <td>'. $rij['bericht'] .'</td>
   <td>'. $rij['antwoord'] .'</td>
   <td>
    <a href="bewerkantwoord.php?id_vraag='. $rij['id_vraag'] .'">Bewerken</a>
   </td>
  </tr>' . "\n"; 
} 
?> 
<!-- Einde van de lus, tabel afsluiten --> 
</table> 
<!-- Eventueel rest van de pagina -->
Niet veel veranderd, alleen wat duidelijker gemaakt.

Ik zie zo gauw geen fouten. Ook niet in bewerkantwoord.php
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan