我想循环到DB以检查变量是否存在,然后当它不存在时,我在DB中进行INSERT。例如:
$i = 1;
$string = $_POST['name'];
$req = $pdo->prepare('SELECT name FROM users WHERE name = ?');
$req->execute(array($string));
while($req->rowCount() > 0) {
$name = $string . '-' . $i;
// HERE IN NEED TO TEST THE EXISTENCE OF THE VAR ($name) INTO DB, BUT HOW?
$i++
}
if ($name) {
$string = $name;
}
$req = $pdo->prepare('INSERT INTO users (name) VALUES (?)');
$req->execute(array($string));
$req->closeCursor();
答案 0 :(得分:0)
我终于找到了办法:
function profileLink(PDO $pdo, $string, $i=0)
{
if ($i!=0) {
$link = $string . '-' . $i;
} else {
$link = $string;
}
$req = $pdo->prepare('SELECT link FROM users WHERE link = ?');
$req->execute(array($link));
$nb = $req->rowCount();
$req->closeCursor();
if ($nb > 0) {
$i++;
return profileLink($pdo, $string, $i);
} else {
return $link;
}
}
$link = profileLink($pdo, $link);