【发布时间】:2013-04-25 15:29:43
【问题描述】:
我的查询很好,但我需要检查 ID 和日期/时间字段是否有重复项,所以我使用了
mysqli_query($link, "
INSERT INTO wsmdata VALUES ('', '".mysqli_real_escape_string($link, $_POST['wsmID'])."',
'".mysqli_real_escape_string($link, $a[0])." ".mysqli_real_escape_string($link, $a[1])."', '".mysqli_real_escape_string($link, $a[2])."')
ON DUPLICATE KEY
UPDATE bar = '".mysqli_real_escape_string($link, $a[2])."'") or die (mysqli_error($link));
我有一个循环遍历所有上传文件的 foreach 循环。它将 1008 行处理到数据库中,然后我得到:
Fatal error: Maximum execution time of 30 seconds exceeded in F:\XAMPP\htdocs\logsysteem\adddata.php on line 30
【问题讨论】:
-
你能用你的 foreach 循环发布这个查询吗?您的查询看起来没问题。
-
文档 - set_time_limit.
-
如果你使用
mysqli_real_escape_string,你就错了。请使用SQL placeholders 和bind_param 进行转义。你这样做的方式,如果你不小心错过了一个转义调用,你的整个应用程序可能会被 SQL 注入错误破坏。