数组php和数据库mysql保存数据

Posted

技术标签:

【中文标题】数组php和数据库mysql保存数据【英文标题】:Array php and database mysql saving datas 【发布时间】:2012-08-18 11:47:35 【问题描述】:

我遇到了数组问题。它实际上出现在一个页面上:一种多行的形式。每行对应数据库中的一条记录,因此它们都有一个共同点。

多亏了 javascript,我可以动态添加字段。

我遇到的麻烦是记录数据时。事实上,我一开始以为我应该delete 一切,然后insert 所以我只是以下查询:

<?php if(isset($_POST['enreg']))


foreach($_POST['data'] as $data)
    if (!empty($data['code_s']))
$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2);    

$sql7 = '
INSERT INTO  scenarii SET 
code_s              = "'.mysql_real_escape_string($data['code_s']).'", 
titre               = "'.mysql_real_escape_string($data['titre']).'",
action              = "'.mysql_real_escape_string($data['action']).'", 
libelle             = "'.mysql_real_escape_string($data['libelle']).'",
jour                = "'.mysql_real_escape_string($data['jour']).'"' ;    
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);

     
   

?>

担心的是删除的信息不会再次存储(尽管它们在 post 变量中,因为它们以表单的形式存在,因此是变量。

实际上它只保存来自 javascript 的新行。

问题是我不能仅仅因为有新行就更新。

【问题讨论】:

【参考方案1】:
<?php if(isset($_POST['enreg']))

$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2);  
foreach($_POST['data'] as $data)
if (!empty($data['code_s']))

$sql7 = '
INSERT INTO  scenarii SET 
code_s              = "'.mysql_real_escape_string($data['code_s']).'", 
titre               = "'.mysql_real_escape_string($data['titre']).'",
action              = "'.mysql_real_escape_string($data['action']).'", 
libelle             = "'.mysql_real_escape_string($data['libelle']).'",
jour                = "'.mysql_real_escape_string($data['jour']).'"' ;    
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);

 
 

?>

将删除查询放在 foreach 循环之前

【讨论】:

这就是我以前做过的,但我以前没有看到过。谢谢你的回答。【参考方案2】:

经过几个小时的测试,我发现删除请求在每个循环中,所以它在所有重新注入之后都删除了,这就是为什么我每次只剩下最后一个输入。

现在我已经全部删除并重新注入。它工作正常。

我不明白的是我以前没见过。

感谢大家的帮助。

【讨论】:

以上是关于数组php和数据库mysql保存数据的主要内容,如果未能解决你的问题,请参考以下文章

php如何将mysql数据转为数组

PHP如何使用laravel 5将数据从数组保存到mysql

MySQ数据备份

如何将此json数组保存到MYSQL数据库

如何在mysql php中保存json数组

php mysql