自动生成mysqli_fetch_array列结果


Auto generate mysqli_fetch_array column results

我正在尝试自动生成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;
}

我无法获取获取数组中$news_rows的值。

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

我将简单地使用一个关联数组来存储结果,其中的键将是列名。