2013-07-09 21 views
0

我正在製作一個php文件來生成用戶並將它們插入到數據庫中。我做的第一件事是獲取最新的一個並將其保存在一個變量中,然後,我使用一個函數來獲取字符串的整數部分並將該值遞增1,但那是我認爲不起作用的部分。php無法使用子字符串

這是代碼:

<?php 

$con = new mysqli('localhost', 'root', '', 'prueba'); 

function create_user($var){ 
    $prefix = "U"; 
    for($i = 0; $i < 5- strlen((String)$var); $i++) { 
     $prefix .= '0'; 
    } 
    $var = mb_substr($var, 1); 

    if(is_numeric($var)) { 
     $int = $var++; 
     $var = $prefix . $int; 
    } 
    return $var; 
} 

$execute = mysqli_query($con, "select id_user from usuarios 
    WHERE id_user=(SELECT MAX(id_user) FROM usuarios)"); 

$row = mysqli_fetch_array($execute); 
print_r($row['id_user']); 
$var1 = $row['id_user']; 

$userid=create_user($var1); 

mysqli_query($con, "insert into usuarios (password, descripcion, id_user) 
    values ('A12345a', 'hgfhdgfh', ' $userid')"); 

echo "hecho"; 
?> 

任何幫助,請?

+0

爲什麼混合並匹配mb_ *和非mb_ *函數...? –

+0

你的'create_user()'函數的輸出是否正確? – fehnomenal

+0

請在將字符串傳遞給create_user()之前及之後給出一個字符串示例。 – RiggsFolly

回答

1

改變這一行:

$int = $var++; 

到:

$int = ++$var; 

它的增量前分配的$var值。