我正在尝试自动生成mysqli_fetch_array列结果,例如:
$column_name=$rows["column_name"];
这些值存储在数组' $ lang_news_cols_arr'中,用作:
foreach($lang_news_cols_arr as $lang_news_col_name) {
$news_rows .= '$'.$lang_news_col.'=$rows["'.$lang_news_col.'"];';
}
$ news_rows会产生以下结果:
$column_name_1=$rows["column_name_1"];
$column_name_2=$rows["column_name_2"];
$column_name_3=$rows["column_name_3"];
etc...
最后用作:
while ($rows = mysqli_fetch_array ($query) ) {
$news_rows;
}
我无法获取fetch数组中$ news_rows的值。非常感谢任何帮助。
答案 0 :(得分:1)
$ news_rows是一个字符串变量,如果没有明确指示,php将不会将其内容作为代码执行。从技术上讲,您可以通过调用eval()
函数来执行此操作,但实际上您不应该这样做,因为它会带来巨大的安全风险。 eval()
可以执行任意PHP代码,因此如果恶意用户设法将自己的代码注入$ news_rows,那么eval()
也将运行该代码。
我只是使用关联数组来存储结果,其中键是列名。