PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Problem mit dem Verkettungsopperator (https://www.php-resource.de/forum/php-developer-forum/99128-problem-mit-dem-verkettungsopperator.html)

BoB133 20-03-2010 17:58

Problem mit dem Verkettungsopperator
 
Hallo! :)
Ich habe ein Problem, ich versteh einfach nicht wie verkettungsoperatoren.
Ich meine, an sich ist es nicht schwer, und mit simplen Variablen bekomm ich den Spaß auch hin.
Problematisch wird es nur an dieser Stelle:

PHP-Code:

$sql 'SELECT
UserID,
UserName,    
UserRLName,
UserBirthday,
UserMail,    
UserLevel,    
UserICQ,    
UserMSN,    
UserAvatar   
FROM
    users
WHERE
    UserName=$user'


Die $user-Variable muss, wenn ich nicht falsch liege, mit so einem Operator mit der $sql Variable verbunden werden. Soweit so gut, ich bekomm es nur einfach nicht hin.

Bitte , wenn mir einfach jemand den richtigen Codeschnipsel hier reinschreiben könnte wär es schon mehr als genug. Verstehen tuh ich es dann schon von allein. :)

mfG,
BoBy

wahsaga 20-03-2010 18:02

PHP: Strings - Manual

BoB133 20-03-2010 18:06

Richtig, da war ich auch schonmal.
Ich benötige ein Bildhaftes Beispiel zu diesem Fall hier, kann mir das denn keiner vor Augen führen?
Mit solchen Links helft ihr mir nicht... :(

h3ll 20-03-2010 18:09

Zitat:

Zitat von BoB133 (Beitrag 637256)
Richtig, da war ich auch schonmal.
Ich benötige ein Bildhaftes Beispiel zu diesem Fall hier, kann mir das denn keiner vor Augen führen?
Mit solchen Links helft ihr mir nicht... :(

PHP-Code:

$name 'Rudolf';
$anzahl 'drei';

$text $name ' hat ' $anzahl ' Autos.';

echo 
$text;
// Rudolf hat drei Autos. 


Kropff 20-03-2010 19:39

Schau dir ggf. mal das hier an.

Peter

fireweasel 20-03-2010 21:55

Zitat:

Zitat von BoB133 (Beitrag 637253)
Hallo! :)
Ich habe ein Problem, ich versteh einfach nicht wie verkettungsoperatoren.
Ich meine, an sich ist es nicht schwer, und mit simplen Variablen bekomm ich den Spaß auch hin.

Der Verkettungsoperator heißt Verkettungsoperator, weil man mit diesem Operator zwei oder mehr ZeichenKETTEN -- ob als Variablen oder Konstanten (oder "Literale") -- aneinanderkleben kann. Ist eine der zu verkettenden Variablen nicht vom Typ "Zeichenkette" (auch bekannt als "String"), dann wird diese vor dem Zusammenkleben in eine Zeichenkette umgewandelt.

Zitat:

Problematisch wird es nur an dieser Stelle:
Aber wegen eines ganz anderen Problems als du vermuten würdest ...

Zitat:

PHP-Code:

$sql 'SELECT
UserID,
...
FROM
    users
WHERE
    UserName=$user'


Die $user-Variable muss, wenn ich nicht falsch liege, mit so einem Operator mit der $sql Variable verbunden werden. Soweit so gut, ...
Soweit, so falsch. Bitte informiere dich über SQL-Injections, bevor du selbst zusammengeklebte Zeichenketten als Query an eine Datenbank verfütterst. Sonst bekommst du es schneller mit Bobby Tables' Mutter zu tun, als dir lieb ist.

Zitat:

Bitte , wenn mir einfach jemand den richtigen Codeschnipsel hier reinschreiben könnte wär es schon mehr als genug.
PHP-Code:

// kommt sogar ohne den Verkettungsoperator aus ...
$sql_query sprintf(
    
'SELECT UserID, ... FROM users WHERE UserName=\'%s\'',
    
mysql_real_escape_string($user)
); 


Zitat:

Verstehen tuh ich es dann schon von allein. :)
Naja, wer schon bei den Grundlagen wie dem Verkettungsoperator scheitert, der hat noch eine Menge vor sich, was er|sie verstehen lernen muss. ;)

Daher geb ich dir mal vorsichtshalber noch ein paar Links zum PHP-Handbuch mit:

PHP: sprintf - Manual
PHP: mysql_real_escape_string - Manual

Und die folgenden zwei enthalten nun einmal wichtiges Grundlagenwissen. "Da war ich schon mal" zählt nicht als Ausrede. Lesen, selbst ausprobieren, verstehen -- bitte erst danach wiederkommen und fragen oder beschweren:

PHP: Zeichenketten-Operatoren
The String Type: Useful Functions and Operators (leider nur in Englisch)


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:28 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG