2013-07-09 22 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值。