ik probeer de volgende query uit te voeren om een notitie toe te kunnen voegen voor de klant die ik op dat moment geselecteerd heb.

Selecteer klant
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

$query= "INSERT INTO klanten (klant_notitie) WHERE klant_id=" . $_GET["id"];

Ik doe vast weer eens iets helemaal verkeerd :s

Bij de link naar notities toevoegen neem ik het ID dus mee notities.php?id=2 en ik wil dus de query uitvoeren en een notitie toevoegen aan ID 2 :x

Je wilt iets toevoegen (INSERT) of wil je iets updaten (WHERE ...)

?
Hoe is je database opzet?


INSERT INTO klanten (klant_id, klant_notitie)
VALUES ($id, '$notitie');
near '' duidt er haast op dat $_GET['id'] leeg is.

Daarnaast heb je natuurlijk geen WHERE clause bij een INSERT (vertaling van post van wes)
ik kan natuurlijk nooit meedere notities toevoegen als ik klant_notitie bij de klant gegevens tabel inzet :s

mijn hele DB opzet klopt indd niet en geen where bij insert hehe ok x) oeps
Het makkelijkste is een tabel 'notities'.

notitieid (int, uniek, auto numeriek, pk)
klantid (int, verwijst naar je klanten tabel (fk))
notitie (text o.i.d.)
datum (datetime)

Dan kan een klant zovel notities toevoegen als hij wilt zonder dat je een database probleem krijgt.

MarDek schreef op 24.03.2006 15:10
near '' duidt er haast op dat $_GET['id'] leeg is.


Dat is onzin, het kan van alles betekenen, ik denk in dit geval dat het betekent dat de parameter VALUES mist, waardoor er niks tussen ' en ' staat.
Arjan Kapteijn schreef op 24.03.2006 15:22
Het makkelijkste is een tabel 'notities'.


klantid (int, verwijst naar je klanten tabel (fk))



Begrijp wat je bedoelt alleen hoe krijg ik een klant_id in mijn notities tabel die gekoppeld is aan mijn klant_id van tabel klanten :x

w8 volgens mij begint het te dagen. ff aanprutsen weer
stapje verder dacht ik maar krijg dezelfde foutmelding met volgende query.

$date = date('d-m-Y, H-i-s');
$query= "INSERT INTO notities (klant_id, notitie, notitie_datum)";
$query .= "VALUES ('";
$query .= $_GET["id"] ."', '" ;
$query .= $_POST["notitie"] ."', '" ;
$query .= $date ."', '" ;
$result = mysql_query($query, $db) or die ("FOUT: " . mysql_error());
echo 'De notitie is toegevoegd klik <a href="index.php">hier</a> om naar het hoofdmenu te gaan.';

Nouja... in een echte relationele database knoop je die dingen aan elkaar. Mysql is niet echt een relationele database, dus vul je daar gewoon het juiste cijfertje in :).

Gewoon zorgen dat beide tabellen hetzelfde klantid hebben dus.
ziezo is het $_GET['waarde'], enkele quotes dus. Tevens moeten er om strings enkele quotes, ints niet.

En een datum voeg je toe met een NOW(), niet met een php date() gebeuren.

Reageren