使用当年创建自动增量ID-PHP

时间:2018-12-01 13:03:08

标签: php mysql function

这可能是重复的问题,但是我没有足够的声誉来评论某人的答案。我想以2018-00001的格式创建一个user_id,但是当我实现答案here时,它给我一个错误。

syntax error, unexpected 'return' (T_RETURN)

此错误指出了这一行。

$fiveDigitNumber = return str_pad((int) $latestNumber,5,"0",STR_PAD_LEFT);

我创建了一个名为 year_table 的新表,该表有两列 LatestNumber Year ,然后对函数进行了限制。

function generateStudentId(){
$year = date("Y");
$latestNumber = 0;
$res = mysql_query("select * from year_table where Year=$year");
$result = mysql_fetch_array($res);
if($result)
    $latestNumber = $result['LatestNumber'];
$latestNumber++;
if($result){
    mysql_query("update year_table set LatestNumber=$latestNumber where Year=$year");
}
else
    mysql_query("insert into year_table values($year,$latestNumber)");

$fiveDigitNumber = return str_pad((int) $latestNumber,5,"0",STR_PAD_LEFT);
$studentId = $year.$fiveDigitNumber;
return $studentId;
}

2 个答案:

答案 0 :(得分:1)

这引起了 T_RETURN ,因为您在该行上使用了不必要的 return

  

语法错误,意外的“返回”(T_RETURN)

应该是这样

$fiveDigitNumber =  str_pad((int) $latestNumber,5,"0",STR_PAD_LEFT);

答案 1 :(得分:-1)

只需删除return语句。函数调用中不需要return语句。

$fiveDigitNumber = str_pad((int) $latestNumber,5,"0",STR_PAD_LEFT);