我有需要在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');
});
如何将变量注入回显文本?
答案 0 :(得分:1)
更改数据库中存储的数据,以便它使用格式占位符而不是对变量的引用:
$(function() {
$('#container%s').parent('div').find('h3').html('%s');
});
使用sprintf()
:
$function_text = sprintf($article[0]['function'], $container, $title);