我有如下所示的MYSQL查询:
$sourcedata = mysql_fetch_array(
mysql_query("SELECT Whereclause
FROM generaltable
WHERE ID = '1'"
)
);
$Whereclause = $sourcedata['Whereclause'];
在"Whereclause“字段中,数据库中的"generaltable”字段由以下案文组成:
WHERE username = '$_SESSION[username]'
然后我还有另外一个疑问:
$data = mysql_fetch_array(
mysql_query("SELECT *
FROM usertable
$Whereclause"
)
);
当我echo $data['username'],
时,它没有显示任何东西。
如果我从数据库复制值以替换$Whereclause,那么它运行良好,如果我将'$_SESSIONusername‘替换为'admin’--例如,它工作得很好。
我怎么才能解决这个问题?需要你的帮助。
非常感谢。
发布于 2014-10-17 00:08:40
您遇到的问题是,$Whereclause
是一个字符串,因此没有计算它('$_SESSION[username]'
保持原样)。
您必须告诉PHP用函数eval()
计算这个字符串。
$data = mysql_fetch_array(
mysql_query(
eval("return \"SELECT * FROM usertable $Whereclause\";")
)
);
发布于 2014-10-17 00:20:15
在使用fetch数组时。你能试一下吗
$data[0]['username']
https://stackoverflow.com/questions/26420547
复制相似问题