Hallo,

Mijn delete query werkt niet.

$removequery = "DELETE FROM phonebook name, nr WHERE name like'%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%' ";

Foutmelding:

DELETE FROM phonebook name, nr WHERE name like'%test5%' OR nr like'%98734223%' 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 'WHERE name like'%test5%' OR nr like'%98734223%'' at line 1

remove naam en nummer zijn tekstboxen..

Phillip
Is het beter om WHERE name like '=".$_REQUEST['removename']."=' te gebruiken?

[size=xsmall]Toevoeging op 01/11/2010 14:04:47:[/size]

Bedankt tot zo ver voor jullie hulp.

Dit is niet goed zie ik..
WHERE name like '=".$_REQUEST['removename']."=

Ik wil wel dat PHP alleen het nummer verwijderd dat je ievoerd en niet gaat zoeken naar een patroon.

Moet ik er dan: WHERE name '=".$_REQUEST['removename']."= van maken?

Thanks,
Phillip
Phillip Mango op 01/11/2010 13:58:23

Is het beter om WHERE name like '=".$_REQUEST['removename']."=' te gebruiken?


Snap niet geheel wat je bedoelt, maar je zegt LIKE en dan probeer je te zeggen dat het een exacte waarden moet zijn met die dubbel ='s?
Mocht dat zo zijn dan moet het als volgt:
WHERE name = " . $_REQUEST['removename'] ."
aha, oek bedankt ik ga weer effe verder knutselen...
Dan zal je geen LIKE moeten gebruiken.
WHERE name = '...'

[size=xsmall]Toevoeging op 01/11/2010 14:12:23:[/size]

$_REQUEST komt waarschijnlijk uit een formulier. Gebruik dan $_POST. Verder is je script lek => SQL-Injection. Gebruik [php]mysql_real_escape_string[/php]().
Nu heb ik dit en dat is niet goed:

$removequery = "DELETE FROM phonebook WHERE name WHERE name = " . $_REQUEST['removename'] ." AND nr = " . $_REQUEST['removename'] ."";

De fout zit in de laatste "" maar hoe los ik dat op?

Foutmelding:

DELETE FROM phonebook WHERE name WHERE name = test AND nr = testYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE name = test AND nr = test' at line 1

Phillip
je kunt van die $request beter variabelen maken stel:
<?php $removename = $_REQUEST['removename'];
$sql = "delete from phobebook where name = '".$removename."' and nr = '".$removename."'";
?> blijkbaar moeten name en nr gelijke variabelen hebben?
EDIT: blijkbaar had je ook niet opgelet met wat er net fout ging , nu heb je alweer een 2de where erin staan
Oke, bedankt.
Idd gelijk, ik was met ctrl-z terug gegaan en dus stond de 2e WHERE ook weer in me script...

Phillip
- SanThe - op 01/11/2010 14:07:25

$_REQUEST komt waarschijnlijk uit een formulier. Gebruik dan $_POST. Verder is je script lek => SQL-Injection. Gebruik [php]mysql_real_escape_string[/php]().


aha, kan je daar iets over vertellen.
Ik heb daar wel eens over gehoord maar hoe werkt het precies en hoe bescherm je jezelf daartegen?

Phillip

Reageren