我收到这两种误差给出:ERROR:警告:mysqli_query()预计至少2个参数,1
Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/shadow28/public_html/register.php on line 11
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/shadow28/public_html/register.php on line 12 Your key isn't valid, please contact support.
这里是register.php
<?PHP
require_once("include/config.php");
require('libs/Smarty.class.php');
$smarty = new Smarty;
$smarty->template_dir = 'templates';
$smarty->compile_dir = 'temp';
if(isset($_POST['username']) and ($_POST['password']) and ($_POST['key'])){
$username = $_POST['username'];
$password = md5($_POST['password']);
$key = $_POST['key'];
$query = mysqli_query("SELECT * FROM `keys` WHERE `key`='{$key}'");
if (mysqli_num_rows($query) == 1) {
while($row = mysql_fetch_array($query)){
$key1 = $row[0];
$months = $row[1];
$max = $row[2];
$type = $row[3];
}
if($months=="lifetime"){
$months = "lifetime";
}else{
$time = time();
$months = $time + 86400 * $months;
}
$query = mysql_query("INSERT INTO `users` (`login`, `passwd`, `max`, `attacks`, `expiry`, `type`, `key`) VALUES ('".$username."', '".$password."', '".$max."', '100', '".$months."', '".$type."', '{$key}');");
$query = mysql_query("delete from `keys` where `key`='{$key}'");
echo mysql_error();
$smarty->assign("done", "Your account has been added, you can now login.");
}else{
die("Your key isn't valid, please contact support.");
}
}else{
$smarty->assign("done", "");
}
$smarty->display("class.register.tpl");
?>
如果检查[文档](http://php.net/manual/en/mysqli .query.php),你会看到它需要两个参数。第一个不是查询,而是mysqli_connect的$链接。 – ahoffner
[Warning:mysqli \ _query()需要至少2个参数,给出1个可能的重复。什么?](http://stackoverflow.com/questions/19148407/warning-mysqli-query-expects-at-least-2-parameters-1-given-what) – ahoffner
请编辑你的错误块 –