提问人:Даниел Димитров 提问时间:11/17/2013 最后编辑:Даниел Димитров 更新时间:5/25/2019 访问量:215
Mysql获取随机用户名
Mysql get random username
问:
我需要得到一个随机的用户名,然后去我哪里错了?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;
}
}
?>
答:
0赞
JJJ
11/17/2013
#1
表单的方法设置为 GET,但您正在检查 .在表单或PHP代码中使用。$_POST
method="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()
$_SERVER
QUERY_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_*
函数。它们不再维护,被正式弃用,并且在实时代码中可能很危险。看到红框了吗?请改用预准备语句,并使用 PDO 或 MySQLi - 本文将帮助您确定哪个语句。如果你选择PDO,这里有一个很好的教程。
评论
Mysql is deprecated