mysql query ми връща 0 ? Къде е грешката?

dzone

Registered
PHP:
//saying username and password are defined as variables
$sql = ('SELECT * FROM `users` WHERE `username` ="'.$_POST['username'].'"');
$res = mysql_query($sql) or die(mysql_error());
	
if(mysql_num_rows($res) > 0){

$sql2 = ('SELECT * FROM `users` WHERE (`username` ="'.$_POST['username'].'" AND `password` ="$password") AND `paid` = "1"');
$res2 = mysql_query($sql2) or die(mysql_error());

$num_rows = mysql_num_rows($res);
echo "step one ($num_rows)";
echo $password;

$num_rows2 = mysql_num_rows($res2);
echo "step two ($num_rows2)";

if(mysql_num_rows($res2) > 0){


$row = mysql_fetch_assoc($res2);
echo $row['username'];
echo $row['password'];
echo $row['paid'];

$_SESSION['username'] = $row['username'];
echo $_SESSION['username'];

/*header("Location: http://sait.com/member/welcome.php");*/
}

if($row['paid'] == 0) {
$message = '<p style="color: red; margin-left: 20px;">You are not a valid subscriber.</p>';
}
else {

$message = '<p style="color: red; margin-left: 20px;">Username and Password combination is incorrect!</p>';
}
	
} else {
$message = '<p style="color: red; margin-left: 20px;">The username you supplied does not exist!</p>';
}
}
}


При изпълнение променливата $num_row ми връща 1 и продължаваме да изпълняваме условията , но след това променливата $num_row2 ми връща 0 и оттам скрипта спира да функционира.

къде греша?[/php]
 
Мешаш кавичките, а не е хубаво така. Ето ти правилния начин

PHP:
$sql2 = ("SELECT * FROM `users` WHERE `username` =" . $_POST['username']." AND `password` ='$password' AND `paid` = \'1\'");
 
PHP:
$sql2 = ('SELECT * FROM `users` WHERE (`username` ="'.$_POST['username'].'" AND `password` = "'.$password.'") AND `paid` = 1');

Също така обърни внимание дали е $password или $_POST['password']
 
малко извън темата ще ти дам един съвет преди да правиш заявка и вътре в нея да вкарваш дирекно пост преди това да си правиш променлива и да си филтрираш даните с една дума си сложи някакви защити
 

Back
Горе