Sven Rautenberg: MySQL, PHP und die Backticks; und ich krieg auch einen...

Beitrag lesen

Moin!

<?php
  echo "backtick";
?>

So müsste es aussehen...

Und macht auch keine Probleme. Es wird erwartungsgemäß (und ohne irgendeine Shell-Fehlermeldung über das nichtexistente Programm "backtick"
backtick
ausgegeben.

Dann verstehe ich aber das Beispiel nicht mehr:
http://de2.php.net/manual/en/language.operators.execution.php

Bemerke bitte den Unterschied zwischen:

$output = cat /etc/password;
echo "<pre>$output</pre>";

und

echo "cat /etc/password";

Das eine ruft (weil Backticks entsprechend ausgeführt werden) ein externes Programm auf und speichert dessen Ausgabe in einer Variablen.

Das andere ist ganz simpler Text.

Wenn du Backticks im SQL-String verwendest du den nachher ausgibst, dann ist das `-Zeichen ein ganz stinknormales Zeichen, das einfach nur ausgegeben wird. Genau wie das "-Zeichen in einem String ja auch nur ein ganz normales Zeichen ist, das einfach ausgegeben wird, nicht aber vorzeitig den String beendet:

$output= '"';
echo "$output und so weiter";

Das gibt ohne Fehlermeldung
" und so weiter
aus.

- Sven Rautenberg

--
Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!