0

我正在尝试构建一个 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。经过大量的试验和错误,我无法弄清楚如何设置它。

4

1 回答 1

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'];

不要强迫数据库获取您无论如何都会忽略的数据。

于 2013-04-28T15:28:34.610 回答