Es werden Fehler angezeigt, weil die Variablen nicht maskiert sind. Um dieses Problem zu beheben, tauschen Sie die Anführungszeichen entweder durch einfache Anführungszeichen aus oder fügen Sie einen umgekehrten Schrägstrich() vor $ hinzu.
$fd=fopen("database.php","w");
fwrite($fd,"\$dbhost='localhost';
\$dbuser='\$user';
\$dbpass='\$pass';
\$dbname='\$email';
\$dbh=newPDO('mysql:host=localhost;dbname=\$email',\$dbuser,\$dbpass);");
fclose($fd);
Oder die Anführungszeichen fix:
fwrite($fd, '$dbhost="localhost";
$dbuser="$user";
$dbpass="$pass";
$dbname="$email";
$dbh = new PDO("mysql:host=localhost;dbname=$email", $dbuser, $dbpass);');
Beide funktionieren sollte.
Wenn Sie Variablen an den Text übergeben möchten (wie $ user, $ pass, $ email), entgehen Sie ihnen nicht.
$fd=fopen("database.php","w");
fwrite($fd,"\$dbhost='localhost';
\$dbuser='$user';
\$dbpass='$pass';
\$dbname='$email';
\$dbh=newPDO('mysql:host=localhost;dbname=$email',\$dbuser,\$dbpass);");
fclose($fd);
Quote Version:
fwrite($fd, '$dbhost="localhost";
$dbuser="' . $user . '";
$dbpass="' . $pass . '";
$dbname="' .$email . '";
$dbh = new PDO("mysql:host=localhost;dbname=' . $email . '", $dbuser, $dbpass);');
* Ich habe es versucht, aber es zeigt Fehler * - welcher Fehler hat es angezeigt? – Ben
@AravindVenkat, möchten Sie irgendwelche tatsächlichen Variablenwerte in der Zeichenfolge oder alle von ihnen sollten Literale sein? – FirstOne
Es ist wie ich Konto für den neuen Benutzer erstellen, so muss ich seinen Benutzernamen oder E-Mail als seinen Datenbanknamen –