1

我想创建一个函数,该函数采用表名和具有列名和值的数组,以使用它在 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;`
4

2 回答 2

2

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

implode(',', $yourArray);

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

于 2012-10-06T04:59:18.330 回答
1
$sql = "INSERT INTO $tabela (".implode(",",array_keys($arrayDados)).") VALUES (".implode(",",array_values($arrayDados)).")";

文件:array_keys- array_values-implode

于 2012-10-06T04:59:56.110 回答