我正在尝试构建一个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,我需要再次检查它,以确保新的url不存在。基本上,我需要遍历这个检查函数,直到我有一个完全唯一的url。经过大量的试验和错误,我不知道如何设置它。
发布于 2013-04-28 23:28:35
效率非常低。你开车去商店,买下所有特定类型的东西,把它们装进你的车里,开车回家,数一数你买了多少,然后把它们都扔掉。为什么不更像这样:
$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'];不要强迫db获取你无论如何都会忽略的数据。
https://stackoverflow.com/questions/16264398
复制相似问题