如何在php中将数组转换为变量

时间:2012-10-06 04:56:08

标签: php

我想创建一个函数,它接受一个表的名称和一个带有列名和值的数组,以使用它在MySQL中生成一个INSERT

检查我的代码。

不幸的是,这种技术不起作用,因为它总是在每个值之后生成一个逗号,这在输入数据时会产生错误。有人知道更好的方法来创建这个功能吗?

<?php
$arrayDados = array('nome' => 'Renato', 'idade' => 24, 'peso' => 36, 'mae' => 'neide');
$colunas = "";
$valores = "";
$tabela = 'cadastro';

    foreach ($arrayDados as $key => $value) {
        $colunas .=  $key . ', ';
        $valores .= $value.', ';
    }
$sql = "INSERT INTO $tabela ($colunas) VALUES ($valores)";

echo $sql;`

2 个答案:

答案 0 :(得分:2)

查看implode()http://php.net/manual/en/function.implode.php

implode(',', $yourArray);

实际上,尽可能使用准备好的查询而不是这样的东西,以避免未转义数据的问题。

答案 1 :(得分:1)

$sql = "INSERT INTO $tabela (".implode(",",array_keys($arrayDados)).") VALUES (".implode(",",array_values($arrayDados)).")";

文档:array_keys - array_values - implode