Мне нужна помощь в хранении массива переменных сеанса в базе данных mysql.Как сохранить массив переменных сеанса в базе данных mysql?
Проблема в том, что в базе данных mysql отображается только array in table column
?
session_start();
$_SESSION['pid1']=array();
$_SESSION['pid1'][]=$_POST['pid'];
<form name="form1" method="post">
<input type="hidden" name="pid[]" value="<?php echo $pid1?>" />
</form>
$pid=implode(",",$_SESSION['pid1']);
$length = count($_POST['product']);
for($i=0; $i<$length; $i++) {
$queryproduct=mysql_query("INSERT INTO shoppingcart VALUES ('','','".$pid."')")
or die("Order Query Problem");
выглядит как плохая структура БД – 2013-04-29 20:39:30
Вы используете [** устаревшие ** API базы данных] (HTTP: // stackoverflow.com/q/12859942/19068) и должен использовать [современную замену] (http://php.net/manual/en/mysqlinfo.api.choosing.php). Вы также уязвимы для [SQL-инъекций] (http://bobby-tables.com/) **, что современный API упростит [защиту] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php). – Quentin
Нормализация базы данных, в то время как отличная идея, не решит настоящую проблему здесь - это довольно очевидно, где массив поступает, если вы начинаете вверху и отслеживаете его, вместо того, чтобы смотреть только на результат всего программа - я не решаюсь просто исправить эту штуку, хотя, поскольку весь подход делает такой маленький смысл в первую очередь (имеется несколько массивов, но нет очевидной причины для любого из них). – Quentin