“字段列表”错误中的未知列

时间:2012-03-20 21:21:41

标签: php mysql arrays

我正在尝试将数组添加到数据库表中并且我得到了这个错误:'字段列表'中的未知列'时钟'看着它看起来的错误,项目名称识别为表字段名称...这是代码:

include("includes/functions.php");

    function addItem($items) {
                    $count = 0;
                    $fields = '';

                    foreach($items as $laukelis => $verte) {
                    if ($count++ != 0) $fields .= ', ';
                    $laukelis = mysql_real_escape_string($laukelis);
                    $verte = mysql_real_escape_string($verte);
                    $fields .= "`$laukelis` = $verte";
                }

                     $query = "INSERT INTO `uzsakymai` SET $fields;";
                     $result=mysql_query($query) or die(mysql_error());

                    }
    if (isset ($_POST['submit'])){
        if($_POST["name"] && $_POST["surname"] && $_POST["address"] && $_POST["mail"] && $_POST["tel"] )
        {
            $max=count($_SESSION['cart']);
            for($i=0;$i<$max;$i++){
            $pid=$_SESSION['cart'][$i]['productid'];
            $ppid=get_product_id($pid);
            $ppav=get_product_name($pid);
            $price=get_price($pid);
            $date=date('Y-m-d');
            $oid=mysql_insert_id();
            $cid=mysql_insert_id();
            ?>
            <?
            $items = array('id' => 'NULL',
                       'pirkejo_id' => $cid,
                    'prod_id' => $ppid,
                    'produkto_pav'=> $ppav,
                    'kaina' => $price,
                    'data' => $date
                    );

                    addItem($items)
                    ?>
<?                  
            } 

1 个答案:

答案 0 :(得分:0)

看起来你的SQL最终会像这样

INSERT INTO `uzsakymai` SET `field1` = value `field2` = value2

这不是INSERT的正确语法。您缺少字段之间的逗号。请查看documentation了解如何插入数据。

您可以改为使用$fields var数组,然后使用implode(',', $fields);创建语句。