在PHP中为用户名分配ID

时间:2010-12-05 05:10:05

标签: php mysql database

用户输入x.com/y.php?username=z后,我想将该用户名作为参数生成ID,并将其与该用户名相关联,方法是将其写入表中。但是,到目前为止,当我输入用户名时,我只得到500个错误。

(进入第三天)

<?php
error_reporting(E_ALL);
$con = mysql_connect("localhost","&&&&&","&&&&&");
if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("wp", $con);

Function RandomString()
{
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for ($i = 0; $i < 20; $i++) 
    {
        $randstring.= $characters[rand(0, strlen($characters))];
    }
    return $randstring;
}

if (isset($_GET["username"]) && !empty($_GET["username"])) 
{
    $username = $_GET['username'];

    $usercheck = mysql_query("SELECT COUNT(*) AS a FROM wp_users WHERE user_login=".$username."",$con);
    $res1 = $usercheck->fetch();
    $usercheck->closeCursor();

    if (empty($res1["a"]))
    {
        $log = "genlog.txt";
        $fh = fopen($log, 'a') or die("can't open file");
        $date = date("m/d/Y");
        $stringData = "Database write failed at ".time()." -- .\n Data entered was: ".$username."\n";
        fwrite($fh, $stringData);
        fclose($fh);
        die('ERROR: Username does not exist.');
    }   
    else
    {
        $n = 1;
        while($n != 0)
        {
            $randstring = "live_".RandomString();
            echo $randstring;
            $req0 = mysql_query("SELECT COUNT(*) AS n, streamer_id FROM streamer_ids WHERE streamer_id=".$randstring."",$con);
            $res0 = $req0->fetch();
            $req0->closeCursor();
            $n = $res0["n"];
        }
        $temp = mysql_query("INSERT INTO streamer_ids (username,streamer_id,premium) VALUES('".$username.",".$randstring.",0')",$con);
        $temp->closeCursor();
    }
}
else
echo "Wrong:".$username.""
?>

1 个答案:

答案 0 :(得分:0)

试试这个,有一些语法错误和MySql查询没有正确完成,不确定你是否使用不同的模块,但我将其更改为在通用设置中工作。

<?php
error_reporting(E_ALL);
$con = mysql_connect("localhost","root","123");
if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("wp_test", $con);

Function RandomString()
{
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for ($i = 0; $i < 20; $i++)
    {
        $randstring.= $characters[rand(0, strlen($characters))];
    }
    return $randstring;
}

if (isset($_GET["username"]) && !empty($_GET["username"]))
{
    $username = $_GET['username'];

    $result = mysql_query("SELECT COUNT(*) AS a FROM wp_users WHERE user_login='".$username."'",$con);
    $res1 = mysql_fetch_assoc($result);
//    $usercheck->closeCursor();

    if (empty($res1["a"]))
    {
        $log = "genlog.txt";
        $fh = fopen($log, 'a') or die("can't open file");
        $date = date("m/d/Y");
        $stringData = "Database write failed at ".time()." -- .\n Data entered was: ".$username."\n";
        fwrite($fh, $stringData);
        fclose($fh);
        die('ERROR: Username does not exist.');
    }
    else
    {
        $n = 1;
        while($n != 0)
        {
            $randstring = "live_".RandomString();
            echo $randstring;
            $result = mysql_query("SELECT COUNT(*) AS n, streamer_id FROM streamer_ids WHERE streamer_id='".$randstring."'",$con);
            $res0 = mysql_fetch_assoc($result);
//            $req0->closeCursor();
            $n = $res0["n"];
        }
        $temp = mysql_query("INSERT INTO streamer_ids (username,streamer_id,premium) VALUES('".$username."', '".$randstring."',0)",$con);
//        $temp->closeCursor();
    }
}
else
echo "Wrong:".$username.""
?>