我想做一個PHP函數檢查一個MySQL數據庫,如果一個已經被隨機創建的值先前存在,如果它確實然後重複,直到它使一個值這不存在。PHP函數循環來檢查數據庫的現有字符串
目前我的失敗悲慘,雖然在優先我相信我的方法會起作用,它只是沒有。
的PHP
我在自己的腳本嘗試這樣做,然後意識到PHP函數不運行,除非它們被。
conn(); //db connection
function genID() {
$newIDref = uuaig(10);
$queryCHECK = "SELECT *
FROM contentArticle_vids
WHERE videoArticle_id = '$newIDref'
";
$resultCHECK = mysql_query($queryCHECK);
$numrows = mysql_num_rows($resultCHECK);
if ($numrows !== 0) {
genID();
die();
}
}
所以..然後我試了這個,然後讓它真的不開心(打破了整個頁面)。
conn(); //db connection
genID();
function genID() {
$newIDref = uuaig(10);
$queryCHECK = "SELECT *
FROM contentArticle_vids
WHERE videoArticle_id = '$newIDref'
";
$resultCHECK = mysql_query($queryCHECK);
$numrows = mysql_num_rows($resultCHECK);
if ($numrows !== 0) {
genID();
die();
}
if ($numrows === 0) {
return $newIDref;
die();
}
}
作爲參考,隨機字符串發生器是uuaig(10)
。
我最終需要隨機字符串生成,然後返回,如果字符串被確認爲不存在於數據庫中。
我該怎麼做?
你究竟在哪裏連接到你的數據庫? –
高於此功能已確認工作。 @ MichaelO'Brien – Derple
爲什麼'die()'在那裏?進行調試還是實際的代碼?如果你想遞歸調用你的函數,你必須用'return genID();'結束它;'請注意你的代碼缺少'return',在那之後,'die()'都是不需要的 –