echo JS函数使用SQL查询中的PHP变量

时间:2013-10-20 18:41:21

标签: javascript php mysql sql

我有需要在JS中使用的SQL表中存储的函数。问题是,我还需要在这些函数中使用PHP变量。

以下内容:

<?php
  $container='11';
  $title='Header';
  $function_text =
  <<<EOT
    $(function() {
      $('#container$container').parent('div').find('h3').html('$title');
    });
  EOT;
  echo $function_text;
?>

正确返回:

$(function() {
  $('#container11').parent('div').find('h3').html('Header');
});

但是这一个:

<?php
  $ID=1;
  $container='11';
  $title='Header';
  $article = $cls -> Query(sprintf('SELECT * from graphs WHERE ID="%s"', $ID));
  $function_text = $article[0]['function'];
  echo $function_text;
?>

准确打印SQL字段的内容,而不识别变量:

$(function() {
  $('#container$container').parent('div').find('h3').html('$title');
});

如何将变量注入回显文本?

1 个答案:

答案 0 :(得分:1)

  1. 更改数据库中存储的数据,以便它使用格式占位符而不是对变量的引用:

    $(function() {
      $('#container%s').parent('div').find('h3').html('%s');
    });
    
  2. 使用sprintf()

    $function_text = sprintf($article[0]['function'], $container, $title);