2014-07-19 3 views
0

나는이 변수들을 값으로 채우길 원하지만, config.php 파일에서 변수 이름을 쓰고 싶다. $ host가 config.php 파일의 작은 따옴표로 'localhost'로 변환되기를 바란다.작은 따옴표로 변수를 올바르게 작성하는 방법은 무엇입니까?

$handle = fopen('../config.php', 'w'); 
    fwrite($handle, ' 
    <?php 
    $connection = mysql_connect({$host}, {$user}, {$pass}); 
    ?> 
    '); 
    fclose($handle); 
+2

당신은 [** 오래된 ** 데이터베이스 API]를 사용 (HTTP ://stackoverflow.com/q/12859942/19068) [현대 대체] (http://php.net/manual/en/mysqlinfo.api.choosing.php)를 사용해야합니다. – Quentin

+0

저의 연구소를위한 프로젝트 일뿐입니다. 아직 mysqli 나 pdo를 배우지 않았습니다. –

답변

2

작은 따옴표 안에 변수를 사용하면 변수 대신 문자열로 표시됩니다.

또한 이런 식으로 작업을 수행 할 수 있습니다 : 당신이 따옴표를 사용하는 경우 작동

// Get from $_SESSION (if started) 
$host = $_SESSION['host']; 
$user = $_SESSION['user']; 
$pass = $_SESSION['pass']; 

$handle = fopen('../config.php', 'w'); 

// try with the {} 
$content = '<?php $connection = mysql_connect('."{$host},"."{$user},"."{$pass});".'?>'; 

// or you can try this too, but comment out the other one: 
$content = '<?php $connection = mysql_connect('."\"$host\","."\"$user\","."\"$pass\");".'?>'; 

fwrite($handle, $content); 
fclose($handle); 
+0

$ host, $ user, $ pass 값을 표시하지 않습니다. 그게 나에게 mysql_connect (,,); 코드의 나머지 부분은 잘 작동합니다. –

+0

$ host, $ user 및 $ pass의 값을 정의 했습니까? 아마도 빈 변수입니다. @ harsimarriar96 –

+0

세션에서 얻을 수있는 몇 가지 값이 있습니다. –

4

수 없습니다. 작은 따옴표 do not interpolate variables. 이중 따옴표와 구별되는 중요한 점입니다. 큰 따옴표 (또는 다른 것, 예 : sprintf)를 사용하십시오.

+0

config.php 파일을 쓰고 싶습니다. 어떻게 쓸 수 있습니까? 변수 인쇄. –

+0

@ harsimarriar96 Quentin이 당신의 질문에 답했습니다. 당신은 올바른 길을 가고 있습니다. 그래서 가서 직접 해보십시오. 추가 질문이있는 경우 : 새 질문을 만드십시오. –

1

:

$handle = fopen('../config.php', 'w'); 
fwrite($handle, " 
<?php 
$connection = mysql_connect({$host}, {$user}, {$pass}); 
?> 
"); 
fclose($handle); 
+0

나는 따옴표를 두 배로 할 때, 그것은 읽 –

+0

PHP를 변수로 읽지 않으려면 PHP를 이스케이프 처리하기 위해 $ connection 앞에 \를 붙이십시오. – datagutten

관련 문제