自动生成mysqli_fetch_array列结果

时间:2016-09-01 09:20:24

标签: php mysql mysqli

我正在尝试自动生成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的值。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

$ news_rows是一个字符串变量,如果没有明确指示,php将不会将其内容作为代码执行。从技术上讲,您可以通过调用eval()函数来执行此操作,但实际上您不应该这样做,因为它会带来巨大的安全风险。 eval()可以执行任意PHP代码,因此如果恶意用户设法将自己的代码注入$ news_rows,那么eval()也将运行该代码。

我只是使用关联数组来存储结果,其中键是列名。