我正在尝试构建一个php函数来检查数据库中是否存在某个url:
$sql = "SELECT * FROM taskProposals WHERE url='$string'";
$query = mysql_query($sql);
$quantity = 0;
while ($row = mysql_fetch_assoc($query)) {
$quantity++;
}
if ($quantity>0) {
$string = $string.$quantity;
}
return $string;
我构造此代码的方式的问题在于它只会在第一次找到相同的$ string时才能工作。一旦我通过添加$quantity
来更改网址,我需要再次检查以确保新网址不存在。基本上,我需要遍历此检查功能,直到我有一个完全独特的URL。经过大量的反复试验,我无法弄清楚如何设置它。
答案 0 :(得分:2)
非常低效。你开车到商店,购买特定类型的所有物品,装入你的车,开车回家,计算你买了多少,然后把它们扔掉。为什么不更像:
$sql = "SELECT count(*) AS cnt FROM taskProposals WHERE url='$string';"
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$quantity = $row['cnt'];
不要强迫数据库获取您只是忽略的数据。