php - 自动生成 mysqli_fetch_array 列结果

标签 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;
}

我无法获取获取数组中 $news_rows 的值。非常感谢任何帮助。

最佳答案

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

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

关于php - 自动生成 mysqli_fetch_array 列结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267567/

相关文章:

PHP,mysql SELECT 语句不工作

php - 从 phpmyadmin 创建一个填充的下拉列表

php - 如何将每张图片的 ID 放在上面

javascript - 如何避免回显大量 JavaScript

mysql - WHERE 对于不在两个日期之间的数据返回太多行

mysql - 关键字 'IN' 附近的语法不正确 - sql

mysql - 如何将数值传递给 mysql 脚本

php - PDO 结果为空

php - Symfony2 通过 REST API 发布文件

php - 一个写入excel的表格