bei einer MySQL-Abfrage nur Zahlen anstatt Buchstaben?
jolly_roger
- php
Dann mal der übliche Prolog: Bin noob und hab Gooogle zum qualmen gebracht. (mich auch). ;-)
Bei einer Abfrage bekomme ich anstatt der abgelegten Buchstaben nur die Spaltenüberschrift, in dem Fall "12".
relevanter code:
$abfrage_txt = "SELECT '$position_num' AS inhalt FROM erste WHERE id='$position'";
$ergebnis_txt = mysql_query($abfrage_txt);
while ($row1 = mysql_fetch_array($ergebnis_txt)) {
$inhalt = $row1["inhalt"];
}
Die DB "erste" sieht folgend aus:
id 11 12 13
--------------------
1 os osw osw
2 nos nosw nosw
3 nos nosw nosw
$position wird mit "2" übergeben
$position_num wird mit "12" übergeben
trotzdem wird bei $inhalt immer nur "12" angezeit. grrr
Irgendwie hab ich da keine Idee mehr...
echo $begrüßung;
Bei einer Abfrage bekomme ich anstatt der abgelegten Buchstaben nur die Spaltenüberschrift, in dem Fall "12".
$abfrage_txt = "SELECT '$position_num' AS inhalt FROM erste WHERE id='$position'";
$position wird mit "2" übergeben
$position_num wird mit "12" übergeben
Es ist immer eine gute Idee, sich im Falle eines Falles das SQL-Statement auszugeben und nicht nur den Code anzuschauen, der es zusammenbaut.
SELECT '12' AS inhalt FROM erste WHERE id='2'
SELECT ein Schlüsselwort
' Stringwertbegrenzer Anfang
12 Stringwert
' Stringwertbegrenzer Ende
AS Schlüsselwort
... usw.
Dein Ergebnis ist also der Stringwert 12, den du angegeben hast. Wenn du keinen String sondern einen Spaltennamen meist, dann musst du auch die Identifier-Begrenzungszeichen nehmen.
echo "$verabschiedung $name";
Hello,
Dein Ergebnis ist also der Stringwert 12, den du angegeben hast. Wenn du keinen String sondern einen Spaltennamen meist, dann musst du auch die Identifier-Begrenzungszeichen nehmen.
Joa mei, mir hoam zwoa morgen schon wieder den ersten April...
Aber darf man denn bei MySQL als Spaltenbezeichner reine numerische Werte benutzen?
Dann hätte ich heute doch noch 'was gelernt.
Ich kann die Regeln für die Bezeichner bei MySQL immer nicht finden :-(
Liebe Grüße aus Syburg
Tom vom Berg
Hello,
Ich kann die Regeln für die Bezeichner bei MySQL immer nicht finden :-(
*Ups*
Über den Umweg der deutschen Seite
http://dev.mysql.com/doc/refman/5.1/de/legal-names.html
habe ich auch die englische gefunden
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
Das wollte ich nach meinem eigenen 'Lernerfolg' nicht vorenthalten.
Es sind also tatsächlich alle Zeichen (Bytewerte) erlaubt für Spaltennamen.
Liebe Grüße aus Syburg
Tom vom Berg
Ein Moin an alle Beteiligten,
Jippi, es funzt wie blöd, thx
NB: den Link mit den Delimitern hab ich gleich in die Lesezeichen gepackt und hoffe, dass sich der Inhalt über Nacht in mein kleines Hirn ergiesst. ;-)
nochmal thx
echo $begrüßung;
» [...] Identifier [...]
Aber darf man denn bei MySQL als Spaltenbezeichner reine numerische Werte benutzen?
Soll ich dir die verlinkte Seite vorlesen? :-)
Du kannst alles verwenden, solange du es backtickst. Einschränkungen gibt es nur bei Datenbank- und Tabellennamen, denn die werden als Verzeichnis- und Dateinamen im Dateisystem verwendet und unterliegen dessen Beschränkungen.
echo "$verabschiedung $name";
Hello,
» [...] Identifier [...]
Aber darf man denn bei MySQL als Spaltenbezeichner reine numerische Werte benutzen?Soll ich dir die verlinkte Seite vorlesen? :-)
Nein danke, ich habe die Informationen ja nun auf der deutschen Seite gefunden.
Du kannst alles verwenden, solange du es backtickst. Einschränkungen gibt es nur bei Datenbank- und Tabellennamen, denn die werden als Verzeichnis- und Dateinamen im Dateisystem verwendet und unterliegen dessen Beschränkungen.
... sagar die Backticks selbst; das wird dann aber langsam unlesbar.
Igitt.
Liebe Grüße aus Syburg
Tom vom Berg