我为我的网站设计了一个url加载器,它工作正常,但是在加载后无法删除url的问题很少。
<?php
// set time 1000
set_time_limit(1000);
// connect to db
include ("../../config.php");
// select data from database target domain and T2 table
$result = mysql_query( "SELECT * FROM domain" ) or die("SELECT Error: ".mysql_error());
$resultx = mysql_query( "SELECT * FROM worth" ) or die("SELECT Error: ".mysql_error());
$num_rows = mysql_query($result);
$num_rowsx = mysql_query($resultx);
// fetching data
while ($get_infox = mysql_fetch_assoc($resultx) && $get_info = mysql_fetch_assoc($result))
{
$domax="www.".$get_infox[domain];
$doma=$get_info[domain];
if ($doma != $domax[domain])
{
// load urls
$url="http://www.w3db.org/".$doma."";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$index=curl_exec($ch);
$error=curl_error($ch);
curl_close($ch);
// deleting current loaded url
echo "url loaded and deleted ".$url."<br />";
mysql_query("DELETE FROM domain WHERE domain=".$doma.""); // problem here
}
else
{
echo "url skiped and deleted ".$url."<br />";
mysql_query("DELETE FROM domain WHERE domain=".$doma.""); // problem here
}
}
mysql_close($con);
?>
我不知道为什么它不能删除,代码没问题,没有错误。我不知道为什么,请帮忙。
表1 ::具有列域的域
表2 ::具有列域的T1
从(表1)域中获取url,与(表2)域url进行比较。如果不匹配使用curl获取然后删除,则跳过加载URL并删除它。
提取了网址,但最后没有删除。
答案 0 :(得分:2)
查询很可能失败,因为$doma
是一个不在引号内的字符串,也就是说,当... WHERE domain=foo
... WHERE domain='foo'
时,您的查询为mysql_query("DELETE FROM domain WHERE domain='".$doma."'") or die( mysql_error() );
。
mysql_error()
(请记住{{1}}部分,它会帮助您稍后调试很多问题。)
答案 1 :(得分:0)
你的查询可能缺少$ doma周围的单引号...试试这个......
"DELETE FROM domain WHERE domain='".$doma."'"
mysql_query("DELETE FROM domain WHERE domain='".$doma."'"); // problem here
假设$ doma是一个字符串..