Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Variable in Concat einbinden [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Variable in Concat einbinden


 
meistereder
30-07-2006, 11:49 
 
hallo zusammen

brüte über dem probelm, eine Variable in der Funktion Concat einzubinden.
Gemäss Definition kann man bei einer Datenbankabfrage mit der Funktion Concat ja bekanntlich Strings zusammenbasteln. z.B. Concat(str1, str2).

Nun möchte ich aber eine Variable einbauen, und dabei geschieht seltsames: Beinhaltet die Variable Zahlen, funktionierts ohne Probleme. Kommt in der Variable jedoch ein Buchstabe vor, gibts ne Fehlermeldung.

Beispiel Funktioniert:

$Variable="1234";

$Abfage="SELECT
ID,
(concat('str1',
$Variable,
'z.b str3'))
FROM
Tabelle...

Dieses Beispiel funktioniert prächtig, gibt alles aus, so wie man sich's verstellt.


Beispiel Funktioniert nicht:

$Variable="e1234";

$Abfage="SELECT
ID,
(concat('str1',
$Variable,
'z.b str3'))
FROM
Tabelle...

und zwar motzt er, dass es keine gültige sql abfrage ist.

weiss jemand, warum das nicht geht? die $Variable ist doch ein String, weil ich die zahlen in "" gesetzt habe. warum frisst ers dann nicht, wenn ich einen Buchstaben übergeben möcht??
Mein Ziel wäre es, die Session-ID in die Concat -Funktion einzubauen, klappt aber leider nicht...

für eure Tips bin ich euch dankbar,

grüsse

guido

 
ghostgambler
30-07-2006, 17:04 
 
ein echo $Abfrage würde dir sofort das Problem offenbaren...


und der Sinn davon
Original geschrieben von meistereder
Mein Ziel wäre es, die Session-ID in die Concat -Funktion einzubauen, klappt aber leider nicht...
wird mir auch gerade nicht ganz klar Oo,

 
meistereder
31-07-2006, 13:53 
 
hallo ghostgambler

danke für den tipp, hab den fehler gefunden:

korrekt währe:


$Variable="e1234";

$Abfage="SELECT
ID,
(concat('str1$Variablestr3usw...'))
FROM
Tabelle...



also ohne koma und anderes um die variable rum.

Vielleicht mags ein bisschen seltsam aussehen, aber damit generiere ich einen link zu einem Bild in ner Tabelle um per Mausklick Sachen an eine andere Tabelle zu übergeben. Und da's so ne Art selbstgebastelte Playlist ist, die individuell sein soll, muss ich dazu die session-id in den link zwängen und das ganze mit GET übergeben.
Ist warscheindlich nicht gerade hackersicher, aber ich werd in der Playlist den Übergabeparameter mit dem in der Datenbank vergleichen und bei abweichung eine "motzion" ausgeben.
Das ganze will ich per Bild machen, da ich kein Platz in der Tabelle hab für dutzende Sendbuttons.

danke für deine Hilfe,

grüsse
guido

 
ghostgambler
31-07-2006, 20:39 
 
$Variable="e1234";

$Abfage="SELECT
ID,
(concat('str1$Variablestr3usw...'))
FROM
Tabelle...


*extreme headdesking*
wozu brauchst du denn dann noch Concat?!

Entweder so, dann aber OHNE Concat, oder so ->
$Variable="e1234";

$Abfage="SELECT
ID,
(concat('str1', '" . $Variable . "', 'str3usw...'))
FROM
Tabelle...

das was du momentan verwendest hat keinen Sinn...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:10 Uhr.