Delete werkt niet
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
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
from selecteer je een tabel geen velden dus nr en name gewoon weg halen
Dat is niet de oplossing..
Het gaat volgens mij fout bij:
WHERE name like'%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%' ";
Mag je: like'%".$_REQUEST['inhoud tekstbox']."%' gebruiken voor delete...?
Phillip
Het gaat volgens mij fout bij:
WHERE name like'%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%' ";
Mag je: like'%".$_REQUEST['inhoud tekstbox']."%' gebruiken voor delete...?
Phillip
maak een mooie query:
waarom staan die % daar?
waarom staan die % daar?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// errors
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true);
function showSQLError($sql,$error) {
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// start script
$sql = "DELETE FROM phonebook
WHERE '%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%'";
if (($result = mysql_query($sql)) === false) {
// foutafhandeling
echo 'Fout met database.';
if (DEBUG_MODE) {
showSQLError($sql,mysql_error());
}
}
else {
echo 'Succesvol verwijdert!';
}
?>
// errors
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true);
function showSQLError($sql,$error) {
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// start script
$sql = "DELETE FROM phonebook
WHERE '%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%'";
if (($result = mysql_query($sql)) === false) {
// foutafhandeling
echo 'Fout met database.';
if (DEBUG_MODE) {
showSQLError($sql,mysql_error());
}
}
else {
echo 'Succesvol verwijdert!';
}
?>
Gewijzigd op 01/11/2010 13:57:12 door Jasper DS
Ja, waarom zou dat niet kunnen.
Doe eens wat Teun zegt.
Toevoeging op 01/11/2010 13:43:42:
@PHP Jasper: Wat doet die tweede WHERE daar?
Doe eens wat Teun zegt.
Toevoeging op 01/11/2010 13:43:42:
@PHP Jasper: Wat doet die tweede WHERE daar?
Krijg nog steeds eer error hoor:
DELETE FROM phonebook WHERE name like WHERE '%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 '%test5%' OR nr like'%98734223%'' at line 1
DELETE FROM phonebook WHERE name like WHERE '%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 '%test5%' OR nr like'%98734223%'' at line 1
- SanThe - op 01/11/2010 13:42:04:
@PHP Jasper: Wat doet die tweede WHERE daar?
Vroeg ik me ook al af, dit is mijn tweede week PHP programeren dus ik ben nog een beginner..
Phillip
Phillip
hehe je hebt het gewoon gekopieert zo te zien jasper had er een 2de where in staan , die moet weg of er moet een AND van gemaakt worden
nu werkt die:
$removequery="DELETE FROM phonebook WHERE name like '%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%'";
$removequery="DELETE FROM phonebook WHERE name like '%".$_REQUEST['removename']."%' OR nr like'%".$_REQUEST['removenr']."%'";
- SanThe - op 01/11/2010 13:51:19:
- SanThe - op 01/11/2010 13:42:04:
@PHP Jasper: Wat doet die tweede WHERE daar?
wa een copy foutje xs
Is het beter om WHERE name like '=".$_REQUEST['removename']."=' te gebruiken?
Toevoeging op 01/11/2010 14:04:47:
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
Toevoeging op 01/11/2010 14:04:47:
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 = '...'
Toevoeging op 01/11/2010 14:12:23:
$_REQUEST komt waarschijnlijk uit een formulier. Gebruik dan $_POST. Verder is je script lek => SQL-Injection. Gebruik mysql_real_escape_string().
WHERE name = '...'
Toevoeging op 01/11/2010 14:12:23:
$_REQUEST komt waarschijnlijk uit een formulier. Gebruik dan $_POST. Verder is je script lek => SQL-Injection. Gebruik mysql_real_escape_string().
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
$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:
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
Code (php)
1
2
3
2
3
<?php $removename = $_REQUEST['removename'];
$sql = "delete from phobebook where name = '".$removename."' and nr = '".$removename."'";
?>
$sql = "delete from phobebook where name = '".$removename."' and nr = '".$removename."'";
?>
EDIT: blijkbaar had je ook niet opgelet met wat er net fout ging , nu heb je alweer een 2de where erin staan
Gewijzigd op 01/11/2010 14:38:59 door Teun Hesseling
Oke, bedankt.
Idd gelijk, ik was met ctrl-z terug gegaan en dus stond de 2e WHERE ook weer in me script...
Phillip
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 mysql_real_escape_string().
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
Ik heb daar wel eens over gehoord maar hoe werkt het precies en hoe bescherm je jezelf daartegen?
Phillip




