用php数组更新mysql表

时间:2013-06-24 06:00:40

标签: php mysql

我有一个像这样的PHP多维数组:

username_1, user_state, user_score, user_views, ...
username_2, user_state, user_score, user_views, ...
username_3, user_state, user_score, user_views, ...
username_4, user_state, user_score, user_views, ...
...................................................

我可以在PHP中编写一个循环,但有几百个用户,我不希望它为每个用户点击mysql db。相反,我想以某种方式将数组传递给MySQL并让它处理所有更新。

现在,在SQL Server中,我可以编写一个存储过程来处理所有这些,但是在MySQL中处理这个问题最有效/最简单的方法是什么?

(我确实谷歌了,但大多数都是用PHP而不是MySQL循环。)

3 个答案:

答案 0 :(得分:0)

我认为最好避免存储过程。我会告诉你一个解决方案。 Mysql支持在单个查询中插入多个记录。所以你做了一件事就是在php程序中编写一个for循环并创建一个大的查询来插入到数据库中,之后循环运行该查询。

答案 1 :(得分:0)

    $sql="update tablename set username_1='demo', user_state='active', user_score='100', user_views='20' where id='1'";
     mysql_query($sql);

答案 2 :(得分:0)

  1. 您可以使用REPLACE而不是UPDATE,它具有与INSERT相同的语法(因此您可以在单个查询中处理多个记录):http://dev.mysql.com/doc/refman/5.5/en/replace.html

  2. 您也可以使用预先准备好的陈述:http://php.net/manual/en/pdo.prepare.php