我有一个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查询的问题?
由于
答案 0 :(得分:0)
尝试检查MySQL错误日志以查找查询中的错误。 PS:我希望你准备$ threadTitleExists用于MySQL查询(smth like(int)$ threadTitleExists或mysqli_real_escape_string($ threadTitleExists))