0

我有一个这样的 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 中循环的。)

4

3 回答 3

0

i think its better to avoid stored procedure. I'll tell you one solution. Mysql supports inserting multiple records in a single query. So you do one thing write a for loop in your php program and create one big query to insert into database and after that for loop run that query.

于 2013-06-24T06:05:44.980 回答
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

于 2013-06-24T10:02:10.690 回答
0
    $sql="update tablename set username_1='demo', user_state='active', user_score='100', user_views='20' where id='1'";
     mysql_query($sql);
于 2013-06-24T06:14:16.610 回答