SQL Syntax error | Iemand een idee wat er niet klopt?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michel Rakhorst

Michel Rakhorst

13/01/2013 18:25:45
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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,
 
PHP hulp

PHP hulp

22/12/2024 18:29:42
 
Eddy E

Eddy E

13/01/2013 18:30:45
Quote Anchor link
Wat staat er in $_POST[select1]?

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


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$sql
= "DELETE FROM Register
WHERE Registratie '"
.$_POST['select1']."'
LIMIT 1"
;
?>
 
Michel Rakhorst

Michel Rakhorst

13/01/2013 18:51:36
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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
Gewijzigd op 13/01/2013 18:52:35 door Michel Rakhorst
 
- SanThe -

- SanThe -

13/01/2013 19:25:17
Quote Anchor link
Laat die complete DELETE regel eens zien.
 
Michel Rakhorst

Michel Rakhorst

13/01/2013 20:33:28
Quote Anchor link
Bij deze !
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
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()

?>

 
Erwin H

Erwin H

13/01/2013 20:41:52
Quote Anchor link
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.
 
Michel Rakhorst

Michel Rakhorst

13/01/2013 21:04:00
Quote Anchor link
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.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

13/01/2013 21:14:44
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.