Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 长插入查询_Php_Javascript_Mysql_Node.js_Wamp - Fatal编程技术网

Php 长插入查询

Php 长插入查询,php,javascript,mysql,node.js,wamp,Php,Javascript,Mysql,Node.js,Wamp,我想在我的数据库中插入大约12500行用于游戏服务器的地图。 这是我生成查询的脚本 sql = "INSERT INTO `legends`.`map` (`x`, `y`, `land`, `collision`, `impedance`, `effect`) VALUES " for (y=0;y<ig.game.collisionMap.data.length;y++){ for (x=0;x<ig.game.collisionMap.data[y].length;x++

我想在我的数据库中插入大约12500行用于游戏服务器的地图。 这是我生成查询的脚本

sql = "INSERT INTO `legends`.`map` (`x`, `y`, `land`, `collision`, `impedance`, `effect`) VALUES "
for (y=0;y<ig.game.collisionMap.data.length;y++){
   for (x=0;x<ig.game.collisionMap.data[y].length;x++){
      if (x==0&&y==0){
         comma=""
      }else{
         comma=","
      }
      sql=sql+comma+"("+x*55+","+y*55+",'kesmai',"+ig.game.collisionMap.data[y][x]+","+ig.game.backgroundMaps[0].data[y][x]+", '0')";
   }
}
console.log(sql)
到目前为止没有运气。。。关于如何运行长查询(如此>)有何建议


我在考虑暂时把它放在node.js中运行的服务器脚本中

我想你要找的是
set\u time\u limit()


但是您应该看看是否有任何方法可以提高查询本身的性能。

你们有一些非常好的建议,我无法为我的特定应用程序提供这些建议。我的解决方案是从node.js执行查询,将sql从客户端发送到服务器。而不是使用phpMyAdmin。我确实尝试过从phpMyadmin脚本中删除时间限制,但没有成功。我通过WebSocket传递了查询,但这不是必需的。

如果您阅读了错误消息,则phpmyadmin似乎在
C:\wamp\apps\phpmyadmin3.4.10.1\libraries\session.inc.php
中设置了不同的执行时间。尝试编辑该文件或phpmyadmin配置,而不是php.ini。您可以将数据分组为100个数据块,并为每个数据块运行单独的插入。
set\u time\u limit(0)在PHP脚本的顶部-但实际上您应该将数据传递给PHP(例如JSON)并使用准备好的语句。您将遇到的下一个问题是,我很确定MySQL不会接受这样大小的查询,并且/或者PHP将在处理如此大的字符串时耗尽内存。将100个数据块分组将是一个需要跟踪的画图,因为我必须执行120次。另外,这个脚本不是php编写的,而是插入到phpMyAdmin中的,但是如果有必要的话,我可以将它插入到php中?您的示例代码在JS中,问题标记为Node.JS,但您讨论的是一个特定于PHP的问题和PHPMyAdmin?您只是使用Node来构造语句并将其复制/粘贴到PMA中吗?除非phpMyadmin允许您插入php,否则它不是php脚本,但据我所知,它不是php脚本script@Shawn如果它不是一个PHP脚本,为什么要标记PHP?此外,我应该说max_execution_time=0没有像您期望的那样工作。因此,如果需要,只需将其设置为某个长值,例如设置为300(秒)。
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 0

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts. 
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = -1