mysql中存储了sql语语,php怎么输出?

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:50:40
如果有一个段(varchar数据类型)中存储了一段sql语句:
select * from table where id=$id
当在我php页面中输出此字段内容时显示:
select * from table where id=$id
而php页面中的变量$id是一个具体数值,比如1
我想达到输出效果是
select * from table where id=1请问应该怎么办?

一楼的答案是正确的。第一句在单引号之间的变量当字符串处理的。我给个稍微完整的例子:

<?
/*
数据库结构:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`test` varchar(200) NOT NULL default '',
PRIMARY KEY (`id`),
)

INSERT INTO `test` VALUES (1, 'select * from test where id=$id);
INSERT INTO `test` VALUES (2, 'test user');
INSERT INTO `test` VALUES (3, 'test3333');
INSERT INTO `test` VALUES (4, 'test5555');

*/

// 数据库连接
mysql_connect("localhost","root","123");
mysql_select_db("account");

$sql="select * from test where id=1";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);

// regist_global=off
$id=$_GET["id"];

// 第二次数据库语句由 id=1 的记录得到,即
$sql2=$row["test"];

// 用eval执行赋值
eval("\$sql_final=\"$sql2\";&quo