我正在尝试退出此内容,以便查看,以便我的脚本可以发布到 Wordpress.com 博客。但是,即使我尝试使用 break; 在 if 语句中,循环继续。
此函数启动脚本并基本上处理发布:
function getFlogArticle($url, $mail) {
list($id, $title, $content, $tags) = getNewArticle();
while ($id != 0)
{
$start = getTime();
doesArticleExist($url, $id);
if ($exist = 0)
{
wordpress($title, $content, $mail, $tags, $url, $id);
break;
$end = getTime();
echo '<strong>Exist While</strong>: '.round($end - $start,4).' seconds<br />';
}
list($id, $title, $content, $tags) = getNewArticle();
echo 'I cant stop';
}
}
每次 dosARticleExist() 返回 1 时,此函数都会从数据库中抓取文章:
function getNewArticle() {
$start = getTime();
global $db;
$count = $db->query("SELECT * FROM flog_articles");
$count = $count->num_rows;
$offset = mt_rand(0, $count - 1);
$stmt = "SELECT * FROM flog_articles LIMIT 1 OFFSET $offset";
$result = $db->query($stmt);
$post = $result->fetch_array(MYSQLI_ASSOC);
return array($post['article_id'], $post['article_title'], $post['article_content'], $post['article_keyword']);
$end = getTime();
echo '<strong>getNewArticle()</strong>: '.round($end - $start,4).' seconds<br />';
}
该脚本检查该文章是否存在于数据库中。如果不是,则返回 0。如果是,则返回 1。
function doesArticleExist($url, $id) {
$start = getTime();
global $db;
$count = $db->query("SELECT * FROM flog_posted WHERE http = $url AND article_id = $id");
$count = $count->num_rows;
if ($count > 0) {
$exist = 1;
return $exist;
} else{
$exist = 0;
return $exist;
}
$end = getTime();
echo '<strong>doesArticleExist()</strong>: '.round($end - $start,4).' seconds<br />';
}
基本上,脚本从数据库中获取一篇文章。获取文章后,它会检查该文章/url 组合是否存在于同一数据库的另一个表中。如果它不存在,我希望它发布到 wordpress 博客,然后跳出循环,所以它不会再次发布。
唯一的问题是它甚至没有退出循环。是因为没有传递存在的值吗?