Inserting several hundred records into mysql database using


Inserting several hundred records into mysql database using mysqli & PHP

我正在制作一个Flex 4应用程序,并使用ZendAMF与MySQL数据库进行交互。我让Flex为我生成了大部分服务代码(它使用mysqli),并粗略地编辑了一些代码(在PHP方面,我是个新手)。在这一点上一切都很好。

我的问题是,目前应用程序在创建用户时向数据库中插入约400条记录(它保存自己的数据以供日后加载),但它通过对服务器的单独调用来实现这一点,即每个记录都被发送到服务器,然后保存到数据库,然后发送下一个记录。

这在我的本地环境中运行良好,但由于使用了实时Web服务器,它只会在某些时候添加这些记录。其他时候它会完全忽略它。我认为它这样做是因为实时数据库不喜欢在几乎同一时间收到数百个请求的垃圾邮件

我认为一种更有效的方法是将所有这些记录打包到一个数组中,只发送一次到服务器,然后让PHP服务对数组中的每个项进行多次插入。问题是,我不知道如何使用mysqli语句在PHP中进行编码

如有任何帮助或建议,我们将不胜感激-谢谢!

读取LOAD DATA LOCAL INFILE似乎这正是插入多条记录所需的:它在一次操作中将文件中的许多记录(不幸的是,不是数组)插入到表中。

使用LOAD DATA LOCAL INFILE进行多次记录更新也比每行更新一次快得多。

ee您应该单独处理用户默认值,并且只存储更改

如果它们没有保存,你必须检查mysql中的警告或php中的错误,数据不会消失

尝试

error_reporting(-1);

就在镶嵌之前和

mysqli::get_warnings()