2011-10-01 59 views
0

你好,我想检查,看看是否有与用户名相同的数据库中的所有准备,用户将其添加到数据库之前...但我得到一个白色的页面。如果mysql结果= 1那么。不管用?

$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 !"; 


} 
} 

如果我把代码列于第一位脚本的顶部部分作品,但如果用户已经在数据库中不检查.....用脚本有,现在我得到的白色页面的第一篇文章的代码位代码也是我没有得到任何错误的最高位....

+1

你必须在代码中有很多语法错误。启用错误消息或查看PHP错误日志。 – JJJ

+0

你不想检查,如果'mysql_num_rows($结果2)== 1',如果不'mysql_num_rows($结果2)== 0'? – someone

+0

没有我想检查用户是否有一个帐户没有,如果用户还没有得到一个帐户 – user967149

回答

1

mssql_query?改为尝试mysql_query

+0

仍然改变它 – user967149

+0

检查你的PHP错误日志后得到的白页。 (或者在代码之前添加'error_reporting(E_ALL);')。 –

+0

我有你可以看到我的代码,没有得到任何...只有一个白页 – user967149

0

我不知道,如果这是唯一的问题,但首先,你在哪里做的是第二个查询,你打电话mssql_query而不是mysql_query,这是Microsoft SQL Server数据库的查询功能线,并不知道如何从MySQL获得结果。

+0

我已经改变了,但仍然得到一个白页 – user967149

0
  1. 尝试添加E_STRICT,如果您的PHP比5.4.0旧。
  2. 添加or die (mysql_error());知道,如果有一个在查询时出现错误。
  3. 尝试使用if (!mysql_num_rows($result2))if (mysql_num_rows($result2) < 1)
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(); 
} 
+0

+1 - 在2012年(近2013年),真的没有任何借口为了再使用'''mysql_ *'''函数; **由于某种原因,它们已被弃用。 –