Veröffentlicht 10. Juli 201411 j Hallo Leute, ich habe hier ein kleines Problem, bei dem ich z.Zt. auf dem Schlauch stehe. Und zwar möchte ich mittels eval folgenden PHP-Code ausführen: php_command = $this->stmt->bind_param("is", 1, '1'); eval ($php_command); // Zeile 87 Fatal error: Cannot pass parameter 2 by reference in /var/www/lib/cdbi.php(87) : eval()'d code on line 1 Hat evetuell jemand eine Idee was den Fehler auslöst?
10. Juli 201411 j Ich habe nicht wirklich Ahnung von PHP, aber ich würde erwarten, dass nach der ersten Zeile der Rückgabewert von bind_param in php_command steht (TRUE oder FALSE, laut Doku). Du scheinst du erwarten, dass der Code als String drinsteht. Denn das erwartet eval: PHP-Code in einem String.
10. Juli 201411 j Autor Okay, stimmt! $php_command = "$this->stmt->bind_param("is", 1, '1');"; In der Variable $php_command steht der String $this->stmt->bind_param("is", 1, '1');
11. Juli 201411 j Du musst die Zeichen escapen! $ = \$ " = \" ' = \' (dies ist aber nicht zwangsweise notwendig) Du hast momentan dort eine Unterbrechung drin, weil du das "is" und das $ nicht escaped hast.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.