我有一个 PHP 脚本,旨在从网站上抓取数据。该脚本每次找到新项目时都会检查本地托管的 mysql 数据库,以查看该项目是否已下载并已存在于 Mysql 数据库中。如果它看到该项目已经存在于数据库中,它应该忽略它并继续前进。这是我用来执行此操作的代码:
$result = mysql_query("SELECT * FROM web_media WHERE sourceForum LIKE '%$ForumtoGrab%' AND titleThreadNum=$threadTitleExists");
if((!mysql_num_rows($result)) && (mysql_num_rows($result) !== FALSE))
{}
换句话说,如果结果为零,则该项目被视为新项目。这个脚本在我的旧托管公司运行了几个月。我最近搬到了一个新的托管服务提供商,我突然遇到了一个非常奇怪的问题。每隔 12 小时左右,表达式似乎随机失败,脚本会找到一堆已经存在于 mysql 数据库中的“新”数据。我已经尝试手动运行查询,并且代码似乎没有问题,找到预先存在的条目没有问题。
有谁知道这里发生了什么?我已经与托管服务提供商核实过,他们说我们拥有的中止 Mysql 连接的数量非常少,无需担心……所以这似乎不是 MySQL 本身的问题。我怀疑这可能是mysql查询的问题?
谢谢