Er moeten quotes rond de VALUES in je query.quote:Op zondag 28 januari 2007 21:36 schreef JortK het volgende:
Ik heb net me eerste stapjes met PHP gezet, en heb een form gemaakt:
[ code verwijderd ]
En die roept dit bestand aan:
[ code verwijderd ]
Nu krijg ik de volgende meldingen wanneer ik de OK! knop indruk in me form:
[ code verwijderd ]
Wie kan me vertellen waarom hij het record niet aan de database toevoegd?
1 2 | VALUES ('{$omschrijving}', '{$memo}', '0')"; |
1 2 | VALUES ('" . $omschrijving . "', '" . $memo . "', '0')"; |
Omdat het een paar milliseconden trager is (je gebruikt dubbele quotes voor een string die je eigenlijk niet geparsed wilt hebben)?quote:Op zondag 28 januari 2007 22:12 schreef Chandler het volgende:
[ code verwijderd ]
waarom niet gewoon zo? is ook mooier in je hightlighting editor
Wat een zeldzaam ranzig datamodelquote:Op zondag 28 januari 2007 17:18 schreef HuHu het volgende:
@ JeRa: volgens mij bedoeld hij dit:
[ code verwijderd ]
Als er dus dubbele namen zijn, dan wordt het Nummer veld opgehoogt, zodat de rij uniek blijft. Maar dan kan je gewoon de combinatie van naam & nummer gebruiken als uniek ID.
Jij hebt geen editor die variabelen in een dubbelgequote string (al dan niet tussen {} ) highlight?quote:Op zondag 28 januari 2007 22:12 schreef Chandler het volgende:
[ code verwijderd ]
waarom niet gewoon zo? is ook mooier in je hightlighting editor
maar hoe zorg ik dat ik dit geautomatiseerd kan aanpasen?quote:Op vrijdag 26 januari 2007 17:29 schreef DoDie het volgende:
Je hebt een ID dus bijv Record 1 heeft ID 1. Dan pak je de ID van Waarde 1, ID + 3 is dus waarde 4 ed
Is het echt sneller? maar werkt het dan ook met $_POST etc?quote:Op zondag 28 januari 2007 23:21 schreef CraZaay het volgende:
[..]
Omdat het een paar milliseconden trager is (je gebruikt dubbele quotes voor een string die je eigenlijk niet geparsed wilt hebben)?
Zo zeldzaam is het niet hoorquote:
quote:Op zondag 28 januari 2007 23:51 schreef JeRa het volgende:
Valt wel mee, m:n koppeltabellen zien er 'ongeveer' ook zo uit.
Om te koppelen ja, waarbij in dat geval 'nummer' een verwijzing is naar een record in een andere tabel neem ik aan. Wat ik ervan begrepen heb is Chandler's tabel geen koppeltabel, maar wordt 'nummer' gebruikt om uniciteit aan te geven (standaard 0, tenzij er al een record met een bepaalde username is, dan ophogen).quote:Op zondag 28 januari 2007 23:51 schreef JeRa het volgende:
[..]
Valt wel mee, m:n koppeltabellen zien er 'ongeveer' ook zo uit.
Ja, maar het verschil is echt minimaal.quote:Op maandag 29 januari 2007 09:42 schreef Chandler het volgende:
[..]
Is het echt sneller? maar werkt het dan ook met $_POST etc?
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.quote:Op maandag 29 januari 2007 10:08 schreef CraZaay het volgende:
[..]
Ja, maar het verschil is echt minimaal.
Tja bv voor een link tabel. (met meerdere gebruikers)quote:Op maandag 29 januari 2007 10:04 schreef CraZaay het volgende:
Voor zover ik weet is dat in dagelijks MySQL gebruik niet echt normaal. Ik zou het iig nooit gebruiken. Of begrijp ik de werking van je tabel verkeerd Chandler?
LOL, ik gebruik ook altijd " . $blaat . " gewoon om het feit dat ik idd ook consequent wil zijn in mijn coding stylequote:Op maandag 29 januari 2007 11:04 schreef JeRa het volgende:
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.
Echter ben ik ook van mening dat je, zodra je dat nodig hebt om tijdswinst te boeken, er iets fundamenteels mis is aan je script.
Gebruik je dan ook enkele qoutes voor sql strings? Dan moet je dus een heleboel qoutejes escapen. Dat lijkt me niet handig en het maakt het er ook niet leesbaarder op.quote:Op maandag 29 januari 2007 11:04 schreef JeRa het volgende:
[..]
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.
Jouw 'dan moet je dus' klopt van geen kantenquote:Op maandag 29 januari 2007 11:50 schreef SuperRembo het volgende:
[..]
Gebruik je dan ook enkele qoutes voor sql strings? Dan moet je dus een heleboel qoutejes escapen. Dat lijkt me niet handig en het maakt het er ook niet leesbaarder op.
1 2 3 4 5 6 | $stmt = $db->prepare('INSERT INTO "tabel" ("userid", "value") VALUES (:userid, :value)'); $stmt->bindParam('userid', $userid); // integer $stmt->bindParam('value', $value); // string $res = $stmt->execute(); ?> |
Ah, dan begreep ik je verkeerd. 'nummer' is dus daadwerkelijk een verwijzing naar een record in een andere tabel? Zo ja, dan vind ik alleen de naamgeving waardeloosquote:Op maandag 29 januari 2007 11:17 schreef Chandler het volgende:
[..]
Tja bv voor een link tabel. (met meerdere gebruikers)
userid
linkid
link
auto_incr zit op userid incombi met linkid oftewel bij 0 links is linkid 0 bij 9 links is linkid=9 en dat voor iedere gebruiker zo... maar goed, het is niet een database die ik bedacht heb
1 2 3 4 5 | $var = 'string'; $query = "test = '$var'" $query = "test = '{$array[1]}'" ?> |
Dat wat ik daar liet zien is PDO, dus dat kan net zo goed met MySQL of SQL server of wat dan ookquote:Op maandag 29 januari 2007 14:33 schreef CraZaay het volgende:
[..]
99% van de mensen hier zal MySQL gebruiken denk ik
Dat was mss een beetje kort door de bocht.quote:Op maandag 29 januari 2007 11:57 schreef JeRa het volgende:
Jouw 'dan moet je dus' klopt van geen kantenzie een mooi prepared statement voor PgSQL:
Ziet er netjes uit. Is die db class van eigen fabricaat?quote:[ code verwijderd ]
Et voila, snel, uitermate veilig en zonder ook maar iets te hoeven escapen![]()
Rephrase: de meesten hier hakken de SQL-statements rechtstreeks in hun code denk ik (de mensen hier die MVC-concepten e.d. gebruiken zijn op 1 hand te tellen volgens mijquote:Op maandag 29 januari 2007 14:37 schreef JeRa het volgende:
[..]
Dat wat ik daar liet zien is PDO, dus dat kan net zo goed met MySQL of SQL server of wat dan ook
'zowat'? Da's dan net te weinigquote:Op maandag 29 januari 2007 15:15 schreef Chandler het volgende:
Ik controlleer tegenwoordig zowat alle input, of het nu via een cookie, get,post of wat dan ook isheb er een paar leuke includes voor geschreven... altijd handig
Het is gewoon PDOquote:Op maandag 29 januari 2007 14:45 schreef SuperRembo het volgende:
[..]
Dat was mss een beetje kort door de bocht.
[..]
Ziet er netjes uit. Is die db class van eigen fabricaat?
Waarom geef je bij bindParam() eigenlijk geen type informatie mee, het lijk me dat je dat (meestal) wel nodig hebt. Of wordt die informatie er door de db layer zelf bij gehaald?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |