arhat78
Новичок
Всем привет! Голову сломал, но так и не решил: пытаюсь занести в БД через INSERT два товара одного заказа, но в таблицу попадает только один товар, две строчки никак...
Таблица orders:
PHP:
function saveOrder( $uid, $n, $p, $e, $a, $prod_id, $title,$dt){
global $link,$basket;
$goods = myBasket();basketInit(); $uid=$basket['orderid'];
foreach($goods as $item):
$stmt = mysqli_stmt_init($link);
$sql = 'INSERT INTO `orders`( uid, `name`, `phone`, `email`, `address`,`prod_id`, `title`, datetime)VALUES (?,?,?,?,?,?,?,?)';
if(!$stmt = mysqli_prepare($link, $sql))
return false;
mysqli_stmt_bind_param($stmt, "ssssssss",$basket['orderid'], $n, $p, $e, $a,$item['prod_id'], $item['title'],$dt);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
return true;
endforeach;
mysqli_stmt_close($stmt);
setcookie('basket','',time()-3600);
return true;
}
$goods = myBasket();
$n = clearStr($_POST['name']);
$p = clearStr($_POST['phone']);
$e = clearStr($_POST['email']);
$a = clearStr($_POST['address']); $dt=date('Y-m-j H:i:s');
foreach ($goods as $item):
$prod_id=$item['prod_id'];
$title=$item['title'];
$uid=$basket['orderid'];
endforeach;
if(!saveOrder( $uid,$n, $p, $e, $a, $prod_id,$title,$dt)) {
echo 'Произошла ошибка при добавлении товара!';
}
else{
echo 'Товар успешно добавлен';
}
?>
SQL:
id INT(11) NO PRI NULL
AUTO_INCREMENT
uid VARCHAR(11) NO NULL
name VARCHAR(230) NO NULL
phone VARCHAR(230) NO NULL
email VARCHAR(100) NO NULL
address VARCHAR(100) NO NULL
prod_id INT(11) NO NULL
title VARCHAR(100) NO NULL
datetime TIMESTAMP NO NULL