Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3559
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: Problem mit PDO |
| Date | 2015-11-15 21:10 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <1738922.5VfiKhCZny@PointedEars.de> (permalink) |
| References | (4 earlier) <n29j1k$705$1@news.albasani.net> <n29s9o$ok1$1@news.albasani.net> <n2a1ql$3a3$1@news.albasani.net> <2514085.4R5y6r8EeQ@PointedEars.de> <n2aint$78q$1@news.albasani.net> |
Peter Müller wrote: > Thomas 'PointedEars' Lahn schrieb am 15.11.2015 um 15:30: >> Peter Müller wrote: >>> Thomas Mlynarczyk schrieb am 15.11.2015 um 13:03: >>>> Es ist eben nicht dieselbe Abfrage. In $query2 vergleichst Du den >>>> *String* 'baldwin' mit der Zahl 15, in der Konsole den Wert der >>>> *Spalte* `baldwin` mit der Zahl 15. >>> >>> Das ist das, was ich übersehen hatte. Danke! Da die Arbeit mit den >>> PDO-Klassen neu für mich ist, hatte ich noch nicht >>> PDOStatement::bindColumn entdeckt. Das löst das Problem. Ich hatte die >>> Spaltennamen wie Strings behandelt. >> >> PDOStatement::bindColumn() tut nicht das, was Du anscheinend annimmst: >> Damit wird _nicht_ der Wert einer Variablen als *Name* einer Spalte in >> einem Prepared Statement verwendet. > > Das dachte ich in der Tat. Gibt es denn überhaupt diese Möglichkeit? Ja; zwei Möglichkeiten dafür habe ich beschrieben. Eine dritte Möglichkeit, die ebenfalls durch eine Datenbank-Klasse abgedeckt werden kann (und in meiner Klasse wird), sind durch Anführungszeichen begrenzte Zeichenfolgen-Literale (“double-quoted strings”), innerhalb denen bei PHP Variableninterpolation stattfinden kann: <http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double> Auch da sollte der Spaltenname aber mindestens mit den Mitteln der verwendeten Datenbanksprache gequotet werden. Dies bei Namen, die nicht benutzerinjiziert sind, vor allem, damit diese bei Beachtung der Empfehlung, dass sie international verständlich, mithin auf Englisch, sein sollten, möglichst unabhängig von der Version der Datenbanksprache nicht als Schlüsselwörter fehlinterpretiert werden können. (In der Regel stellt sich diese Problematik, wenn überhaupt, jedoch nur für solche Namen, denn die Datenbankstruktur sollte für den Benutzer der Applikation nicht direkt ersichtlich sein. Öffentliche Namen sind applikationsintern auf intern verwendete zu mappen, um die Darstellung von der Speicherung zu entkoppeln und möglichst wenig Möglichkeiten für Angriffe zu bieten.) > Sonst müsste ich, siehe unten, die DB ändern. Basierend auf den vorliegenden Fakten solltest Du die DB in jedem Fall ändern: <https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)> > > RTFM: <http://php.net/manual/en/pdostatement.bindcolumn.php> > > Ich kauf mirn Buch. Kein Scherz. Naturgemäss wird kein Buch über PHP, insbesondere kein deutschsprachiges, jemals so aktuell und wenig fehlerbehaftet sein wie das von den an PHP und PHP-Projekten Beteiligten im Web veröffentlichte PHP-Handbuch, insbesondere wie seine originale englischsprachige Version. -- PointedEars Zend Certified PHP Engineer Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-14 20:54 +0100
Re: Problem mit PDO Arno Welzel <usenet@arnowelzel.de> - 2015-11-14 21:32 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-14 22:19 +0100
Re: Problem mit PDO Markus Grob <snoopy@ilnet.ch> - 2015-11-14 23:41 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-15 10:25 +0100
Re: Problem mit PDO Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2015-11-15 12:42 +0100
Re: Problem mit PDO Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2015-11-15 13:03 +0100
Re: Problem mit PDO Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-15 14:26 +0100
Re: Problem mit PDO Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2015-11-15 16:32 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-15 14:37 +0100
Re: Problem mit PDO Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-15 15:30 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-15 19:26 +0100
Re: Problem mit PDO Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-15 21:10 +0100
Re: Problem mit PDO Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-15 14:23 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-15 14:39 +0100
Re: Problem mit PDO Arno Welzel <usenet@arnowelzel.de> - 2015-11-16 08:43 +0100
Re: Problem mit PDO Peter Müller <peter.mueller@c-major.de> - 2015-11-16 21:23 +0100
Re: Problem mit PDO Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2015-11-15 13:09 +0100
Re: Problem mit PDO Markus Grob <snoopy@ilnet.ch> - 2015-11-17 09:48 +0100
Re: Problem mit PDO Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-17 20:13 +0100
Re: Problem mit PDO Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2015-11-17 22:09 +0000
Re: Problem mit PDO Markus Grob <snoopy@ilnet.ch> - 2015-11-20 21:59 +0100
csiph-web