我正在尝试将数组添加到数据库表中并且我得到了这个错误:'字段列表'中的未知列'时钟'看着它看起来的错误,项目名称识别为表字段名称...这是代码:
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)
?>
<?
}
答案 0 :(得分:0)
看起来你的SQL最终会像这样
INSERT INTO `uzsakymai` SET `field1` = value `field2` = value2
这不是INSERT的正确语法。您缺少字段之间的逗号。请查看documentation了解如何插入数据。
您可以改为使用$fields
var数组,然后使用implode(',', $fields);
创建语句。