Php 无法从sql数据库中删除
我已经为我的网站设计了一个url加载器,它工作得很好,但没有什么问题,它不能在加载后删除最后的urlPhp 无法从sql数据库中删除,php,mysql,Php,Mysql,我已经为我的网站设计了一个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"
<?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进行比较。如果fetch与curl不匹配,则先删除,否则跳过加载url并将其删除
url已获取,但最后未被删除。很可能查询失败,因为
$doma
是一个不在引号内的字符串,也就是说,您的查询是。。。其中domain=foo
何时应该是。。。其中domain='foo'
mysql_query("DELETE FROM domain WHERE domain='".$doma."'") or die( mysql_error() );
(请记住
mysql\u error()
部分,它将帮助您稍后调试许多问题。)您的查询可能缺少$doma左右的单引号。。。试试这个
"DELETE FROM domain WHERE domain='".$doma."'"
mysql_query("DELETE FROM domain WHERE domain='".$doma."'"); // problem here
假设$doma是一个字符串。当
mysql\u query()
失败时,它返回false
。当它返回false
时,您可以使用mysql\u error()
获取最后一个mysql错误代码/消息。你犯了什么错误?这将有助于缩小你的问题范围。请参见中的示例#1,以了解我所了解的内容mean@Thomas如果你不知道的话,这是一个非常方便的工具,可以用来评论像这样反复出现的问题:我看到了你的评论,并认为这值得作为一个评论模板