您好我想在将数据库中的用户添加到数据库之前检查是否已准备好用户名,但我得到一个白页。
$sql2="SELECT * FROM users WHERE username='$user' ";
$result2=msyql_query($sql2,);
if (mysql_num_rows($result2)==0) {
echo "A account is all ready here" ;
}
else{
这是检查的主要内容。
这是我的完整代码:
include('config.php');
ini_set('display_errors',1);
error_reporting(E_ALL);
print_r ($_SESSION) ;
if ($_SESSION['number_three'] == 3 ) {
$user = mysql_real_escape_string($_POST['username']);
$pass = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
$starter = mysql_real_escape_string($_POST['starter']);
$gender = mysql_real_escape_string($_POST['gender']);
$_SESSION['start'] = $starter;
$sql = "SELECT * FROM pokemon WHERE pic='$_SESSION[start]'";
$result = mysql_query($sql) or die(mysql_error());
$values = mysql_fetch_array($result);
$sql2="SELECT * FROM users WHERE username='$user' ";
$result2=mysql_query($sql2,);
if (mysql_num_rows($result2)==0) {
echo "A account is all ready here" ;
}
else{
$_SESSION['test'] = $values['name'];
mysql_query("INSERT INTO users
(username, password, email, avatar, gender) VALUES
('$user','$pass','$email','$avatar','$gender' )
") or die(mysql_error());
mysql_query("INSERT INTO user_pokemon
(pokemon, belongsto, slot) VALUES
('".$_SESSION['test']."','$user','1' )
") or die(mysql_error());
unset($_SESSION['number_three']);
} else {
echo " You do not ment to be here ! Go Away !";
}
}
如果我在第一位脚本中取出代码的顶部部分,但不检查用户是否已经在数据库中.....脚本已经是现在我正在获取白页第一个帖子代码位中的顶部代码也是我没有收到任何错误....
答案 0 :(得分:2)
$result2=mssql_query($sql2,);
您正在呼叫mssql_query
,而不是mysql_query
。
答案 1 :(得分:1)
mssql_query
?请改为mysql_query
。
答案 2 :(得分:1)
在抛出异常时使用PDO:
try {
$PDO = new PDO($dsn, $username, $password, array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
//use $PDO->query(); Errors will be thrown and you'll be able to see them. This way you don't have to check the boolean return values on queries.
} catch(PDOException $error) {
echo $error->getMessage();
}
答案 3 :(得分:0)
我不确定这是否是唯一的问题,但首先,在您进行第二次查询的行上,您正在调用mssql_query
而不是mysql_query
,这是查询用于Microsoft SQL Server数据库的功能,并且不知道如何从MySQL获取结果。
答案 4 :(得分:0)
or die (mysql_error());
以了解查询中是否有错误。if (!mysql_num_rows($result2))
或if (mysql_num_rows($result2) < 1)