Goedenavond,

Kunnen jullie mij misschien helpen om te zoeken naar een oplossing voor mijn probleem.
Momenteel ben een klein admin panel aan het maken voor een site.

enkel nu heb ik het probleem dat ik een Syntax error krijg als ik een sql query uitvoer. het gaat om deze regel

DELETE FROM Register WHERE Registratie=$_POST[select1]";

zoals je ziet word er een via een Post formulier gewerkt op een andere pagina.
enkel bij deze regel krijg ik de fout:

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 'DELETE FROM Register WHERE Registratie=' at line 4


Op de server waar de website staat draai MySQL versie 5.1.66
ik hoop dat ik voldoende informatie heb gegeven.

mvg,
Wat staat er in $_POST[select1]?

Probeer het eens correct te doen door te 'escapen'.
Google dat woord eens ;)



<?php
$sql = "DELETE FROM Register 
WHERE Registratie '".$_POST['select1']."' 
LIMIT 1";
?>
Wat er in $_POST[select1] staat laat ik je wel even zien.

Hier onder staat de code van de pagina waar de Post formulier staat.

<?php
  include '../connect.php' ; 


$query = "SELECT Registratie FROM Register";
$result = mysql_query($query);
?>
<form id="form1" name="Update" method="post" action="dereg_ac.php">
  <select name="select1" style="width: 200px;">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['Registratie'];?>"> <?php echo $line['Registratie'];?> </option>
 
<?php
}
?>
</select>
<input name="" type="submit" value="send" />
</form>


Zoals je ziet haalt het formulier gegevens uit mijn MySQL database en weergeeft het op de pagina.
Daarbij kan je via een dropdownmenu menu een keuze maken uit een lijst van registratie's zoals "PH-MICHEL"
Als dit gedaan is druk ik op send en dan word het formulier door gegeven aan de "uitvoer pagina" waar de error vandaan komt
Laat die complete DELETE regel eens zien.
Bij deze !
[code]
<?
include '../connect.php' ;

$sql="INSERT INTO Uitgeschreven (Registratie, Houder, Type, Serienummer, Bouwjaar, Bvlv, ICAOCode, ICAOType)
SELECT (Registratie, Houder, Type, Serienummer, Bouwjaar, Bvlv, ICAOCode, ICAOType)
FROM Register WHERE Registratie <'$_POST[select1]'>
DELETE FROM Register WHERE Registratie '".$_POST['select1']."'";
if (!mysql_query($sql))
{
die ('Error: ' . mysql_error());
}
echo "Record added";

mysql_close()

?>
[code]
There you go.... Je kan niet twee queries uitvoeren in 1 keer. In elk geval niet op die manier. De insert en delete zal je los moeten doen.
Aha oké!

Is er dan een andere manier hiervoor om toch het hele proces in 1 keer te laten draaien ?
Ik ben niet zo'an held in PHP maar d.m.v. op internet te zoeken zoals op dit forum kom ik toch verder.
Ja die is er, en nee dat moet je niet doen.
Ja:=dat je de logica kunt verplaatsen naar je dataabase dmv een trigger;
Nee:=je kumt dat beter op phpniveau afvangen

Reageren