1
我編寫一個簡單的代碼來生成EAN8代碼並檢查數據庫中是否存在記錄。當我使用只是代碼它的工作完美,但是當我嘗試改變它的功能,我只有空白頁。 此代碼工作相同的代碼不起作用。 (生成EAN8)
do{
$number = rand(1,9999999);
$number = str_pad($number, 7, 0, STR_PAD_LEFT);
$sum = ($number[0] * 3) +($number[1] * 1) + ($number[2] * 3) + ($number[3] * 1) + ($number[4] * 3) + ($number[5] * 1) + ($number[6] * 3);
$control = 10 - ($sum%10);
$ean8 = $number.$control;
$ean8 = substr($ean8, 0,8);
$db->where('numberCard',$ean8);
$user = $db->getOne('user');
}
while($db->count !== 0);
echo $ean8;
與此相同的代碼過去函數返回空白頁
function generateEan(){
do{
$number = rand(1,9999999);
$number = str_pad($number, 7, 0, STR_PAD_LEFT);
$sum = ($number[0] * 3) +($number[1] * 1) + ($number[2] * 3) + ($number[3] * 1) + ($number[4] * 3) + ($number[5] * 1) + ($number[6] * 3);
$control = 10 - ($sum%10);
$ean8 = $number.$control;
$ean8 = substr($ean8, 0,8);
$db->where('numberCard',$ean8);
$user = $db->getOne('user');
}
while($db->count !== 0);
return $ean8;
}
echo generateEan();
問題出在哪裏?我犯了什麼錯誤?請幫幫我,祝你有個美好的夜晚
哦,天啊,謝謝。我忘了添加全局$ db;在功能的頂部。真的非常感謝!有一個愉快的夜晚 – user1364495
不客氣。也許可以通過參數傳遞$ db,比使用全局更受推薦 – Guillermo