Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:替换a";变量";从mysql查询(表的内容)_Php_Mysql_Sql_Variables - Fatal编程技术网

PHP:替换a";变量";从mysql查询(表的内容)

PHP:替换a";变量";从mysql查询(表的内容),php,mysql,sql,variables,Php,Mysql,Sql,Variables,我试图从mysql查询中回显一个变量,如下所示: <?php ...//FYI: mysql connection already established //Table: title //col: page | title //row: html | "$domain_name: Welcome" $page_id = basename(getcwd()); $domain_name = "Name of My Domain"; $sql = "SELECT title FROM

我试图从mysql查询中回显一个变量,如下所示:

<?php
...//FYI: mysql connection already established
//Table: title 
//col: page | title
//row: html | "$domain_name: Welcome"

$page_id = basename(getcwd());
$domain_name = "Name of My Domain";

$sql = "SELECT title FROM mydatabase.title WHERE page = '$page_id' ";
//The query's result is 1 row
$dbq = mysql_query ($sql);
$dba = mysql_fetch_array( $dbq );
echo $dba["title"];
//it outputs: $domain_name: Welcome", instead of "Name of My Domain: Welcome"
?>

我认为“(双引号)应该用它的值替换变量

只有在代码中指定字符串的情况下,这才有效。如果字符串来自外部,它就没有这种神奇的行为

因此,您可以选择的唯一解决方案是:

echo str_replace('$domain_name', $domain_name, $dba["title"]);

或者,您可以使用某种模板引擎,如Twig或Smarty,将数据库值视为模板,将变量视为数据。

您可以在数据库级别替换它:

$sql = 'SELECT REPLACE(title, \'$domain_name\',\''.$domain_name.'\') as title FROM mydatabase.title WHERE page = '.intval($page_id);
//The query's result is 1 row
$dbq = mysql_query ($sql);
$dba = mysql_fetch_array( $dbq );
echo $dba["title"];
(注意单引号)