2016-08-19 12 views
0

ECHOからPHPスクリプトを実行する必要があります。 通常、データベースからの出力はテキストですが、時にはphpコードも含まれています。 ['content']は、データベースにLONGBLOBとして定義されています。 どうすれば一緒に動作させることができますか?

function data_page ($dbc, $pageid){ 

    $q = "SELECT * FROM page WHERE id = $pageid"; 
    $r = mysqli_query($dbc, $q); 

    $data = mysqli_fetch_assoc($r); 

    return $data; 
} 

$page=data_page($dbc,$pageid); 

<?php echo $page['content'];?> 

contentは、例えば、私はPHPがなぜこれが原因身を任せることを知っていた、このコード<?php echo date('Y');?>

+0

は、なぜあなたは '格納します'データベース内?なぜあなたはPHPファイルに必要な場所を呼び出すだけではないのですか?または、SQLを使用して日付を取得します。 – nerdlyist

+0

なぜPHPの括弧の中に 'echo $ page'がありますか? ''あなたはすでにPHPモードです。私が問題を理解していれば、テキストのときに結果をエコーし​​たいのですが、PHPコードのときに何をしたいのですか? – BeetleJuice

+0

'eval( '?>'。$ page ['content']); ' – AbraCadaver

答えて

0

を含めることができます。私はこれを行うことができるので、これを示しているだけです。あなたはこれについて考えるべきです。 SQLから情報を簡単に取得できます。私はDBで他に何があるのか​​分かりませんが、これはほとんどの場合に有効です。

文字列をきれいにする必要があります。既存のブロック内に別の<?php ?>ブロックを含めることはできません。だから、DB内の文字列がecho date('Y');

する必要があります次に、あなたのコードでは、これを呼び出すことができます:<?phpのエコー日付(「Y」);>

<?php 
function data_page ($dbc, $pageid){ 

    $q = "SELECT * FROM page WHERE id = $pageid"; 
    $r = mysqli_query($dbc, $q); 

    $data = mysqli_fetch_assoc($r); 

    return $data; 
} 

$page=data_page($dbc,$pageid); 

eval($page['content']); 

?> 
関連する問題