Mysql获取随机用户名

Mysql get random username

提问人:Даниел Димитров 提问时间:11/17/2013 最后编辑:Даниел Димитров 更新时间:5/25/2019 访问量:215

问:

我需要得到一个随机的用户名,然后去我哪里错了?view.php?name=USERNAME

<form action="view.php?name=<?php $getname; ?>" method="get">
    <input class="button" type="submit" name="submit" value="RANDOM SKIN" />
</form>
<?php
    include('config.php');
    if ($_POST['submit']) {
        $sql1 = mysql_query("SELECT * FROM `skins` ORDER BY rand() limit 1") or die(mysql_error());
        while ($row2 = mysql_fetch_assoc($sql1)) {
            $getname = $row2['username'];
            echo $getname;
        }
    }
?>
php mysql 随机

评论

3赞 Aycan Yaşıt 11/17/2013
谁先说?Mysql is deprecated
0赞 Jimbo 2/28/2014
你找到解决问题的方法了吗?您尚未将答案标记为正确。

答:

0赞 JJJ 11/17/2013 #1

表单的方法设置为 GET,但您正在检查 .在表单或PHP代码中使用。$_POSTmethod="post"$_GET

评论

0赞 Даниел Димитров 11/17/2013
我将其修复为 if ($_GET['submit']) 但它不起作用?
0赞 Даниел Димитров 11/17/2013
它让我查看.php?submit=RANDOM+SKIN
0赞 JJJ 11/17/2013
如果要保留 get 参数,则需要使用 POST。name
0赞 Даниел Димитров 11/17/2013
好的,我将其修复为 method=“post” 和 if ($_GET['submit']) 现在是 view.php?name= ?
0赞 Jimbo 11/17/2013 #2

除了在 和 之间交替的问题之外,如果您想从 GET 请求中保留键值对,这不是一个大问题。您有多种选择:$_GET$_POST

推荐

查看 parse_url()。从 PHP 4 开始可以使用。文档中有很多示例:

$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);

另类

尝试对变量进行操作。您应该能够看到一个可以使用 访问的属性。在这里,您可以使用手动拆分键/值。你猜怎么着,还有一个功能!var_dump()$_SERVERQUERY_STRING$_SERVER['QUERY_STRING']

查看:parse_str()。你给它一个查询字符串,就像 GET 中的那个字符串一样,它会为你整理出所有的键值。查看文档,它为您提供了以下示例:

$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

很简单,真的!尝试这两个功能 - 它们可以解决您的确切问题。为了让上述内容为您工作,我首先尝试:

var_dump(parse_str($_SERVER['QUERY_STRING']));

最后,我将讨论MySQL的弃用。这是我复制/粘贴给新手的内容:

请不要在新代码中使用 mysql_* 函数。它们不再维护,被正式弃用并且在实时代码中可能很危险。看到红框了吗?请改用预准备语句,并使用 PDOMySQLi - 本文将帮助您确定哪个语句。如果你选择PDO,这里有一个很好的教程