php - Mysql查询获取字段名和结果作为数组键和数组值

标签 php mysql sql arrays

我在下面有这段代码,我试图从查询中获取结果作为包含数组键的数组作为表字段名称和值作为字段的结果。到目前为止我有这个:

$query='select      
en_product_name,de_product_name,fr_product_name,ru_product_name    
from products where id="'.$pid.'"';    
$result=mysql_query($query) or die('Mysql Error:'.mysql_error().'<br /> Query:'.$query);    
$num_rows=mysql_num_rows($result);    
$row = mysql_fetch_array($result);    
$columns = mysql_num_fields($result);    
$fields =array();    
for($i = 0; $i < $columns; $i++) {     
echo $fields = mysql_field_name($result,$i).'<br />';
}    

这个 $fields 只返回字段名..我怎样才能得到这样的结果: 数组([en_product_name] => New en product name, [de_product_name] => New de product name)等等。 感谢您的任何帮助和建议

最佳答案

试试这个

$query='select en_product_name,de_product_name,fr_product_name,ru_product_name    
    from products where id="'.$pid.'"';    
$result=mysql_query($query) or die('Mysql Error:'.mysql_error().'<br /> Query:'.$query);    
$num_rows=mysql_num_rows($result);    
$row = mysql_fetch_array($result);    
$columns = mysql_num_fields($result);    
$fields =array();    
for($i = 0; $i < $columns; $i++) {     
    $field = mysql_field_name($result,$i);
    $fields[$field] = $row[$field];
}  

print_r($fields);

注意:

mysql_* 已被弃用。请改用 PDO ( php.net/manual/en/book.pdo.php ) 或 mysqli_*。否则会有安全问题。

关于php - Mysql查询获取字段名和结果作为数组键和数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21725088/

相关文章:

sql - 仅从同一表中的另一个 DateTime 列更新 SQL Server DateTime 列中的时间

php - 根据数组的数量循环遍历数组和输出链接

php - POST 数千个变量与一个长 JSON 字符串 : what is preferrable?

php - 将 Microsoft dynamic 2013 或 2015 与 PHP 集成

mysql - 如何使用 case 语句 mysql 获取 MAX 排名

mysql - 让SQL自动建表

javascript - Calypso、Jetpack 和 Wordpress 博客的技术架构

php - 求和并联接多个MySQL表

mysql - 基于连接添加列

mysql - MySQL 中何时使用单引号、双引号和反引号