2013-04-30 92 views
0

我从我的SQL获取数据它给人的错误这里是我的代码Mysql的提取错误,而正从MySQL数据库的数据

<?php 
    $con =  mysql_connect("productivo.db.6420177.hostedresource.com","",""); 
    if (!$con) 
    { 


    die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db("productivo", $con); 

    $username=$_POST['UserName']; 
    $password=$_POST['UserPassword']; 
    echo($u); 
    echo($pw); 


    $query = "SELECT * from UserCredentials WHERE UserName='$username' AND UserPassword='$password'"; 

// $ CON =请求mysql_query($查询,$ CON); // $ cnt = mysql_num_rows($ con);

$res = mysql_query($query,$con); 
    $cnt = mysql_num_rows($res); 

    echo($cnt); 
    if($cnt ==0) { echo "Login Failed"; } else { echo "Yes Successful Login" ; } ?> 

这里警告它显示

警告:mysql_num_rows():提供的参数不是一个有效的MySQL结果资源在/ home /内容/ I/H/U/ihus235/HTML/CS/pah_brd_v1/productivo/CheckUserCredentialsAPI.php第21行 登录失败

可以accees使用这个网址

http://celeritas-solutions.com/pah_brd_v1/productivo/CheckUserCredentialsAPI.html

+1

[''MySQL'](http://php.net/manual/en/book.mysql.php)(_mysql _ * _ functions)扩展名是[*** deprecated ***](http:// php达网络/手动/ EN/function.mysql-connect.php)。我建议使用['MySQLi'](http://php.net/manual/en/book.mysqli.php)(_mysqli _ * _ functions)或['PDO'](http://php.net/manual改为/en/book.pdo.php)。 – BlitZ 2013-04-30 05:40:39

回答

5

问题是你正试图再次使用连接变量不重复使用相同的变量再次使用其他一些变量

$res = mysql_query($query,$con); 
$cnt = mysql_num_rows($res); 
+0

为什么我们现在应该重用它。无论如何,我们不会在知道之后使用该连接?请解释。 – 2013-04-30 05:42:36

+0

@Vinoth Babu,可能没有什么区别,但是对于OP来说这是一个更好的片段。而且,是的,连接应该手动关闭,就像我一样。 – BlitZ 2013-04-30 05:43:25

+0

这是否会解决这个问题? – 2013-04-30 05:45:46

0

你可以用下面的代码检查错误,你在做什么,其实是错误的

$check = mysql_query("SELECT * from UserCredentials WHERE UserName='$username' AND  UserPassword='$password'")or die(mysql_error()); 
+0

这是可以的。查询很好。 – zkanoca 2013-04-30 05:46:41

0
<?php 
    $link = mysqli_connect("productivo.db.6420177.hostedresource.com","",""); 
    $query = "SELECT * from UserCredentials WHERE UserName='$username' AND  UserPassword='$password'"; 

    $result = mysqli_query($link,$query); 
    $cnt = mysqli_num_rows($result); 


    ?> 
0

在这里,您使用

$con = mysql_connect("productivo.db.6420177.hostedresource.com","",""); 

,然后将结果集使用

$con = mysql_query($query,$con); 
$cnt = mysql_num_rows($con); 

再次。第二次使用$避孕套。

$condom = mysql_query($query,$con); 
$cnt = mysql_num_rows($condom); 
0

这里ü这个

<?php 
    $con = mysql_connect("productivo.db.6420177.hostedresource.com","",""); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("productivo", $con); 
    $username=$_POST['UserName']; 
    $password=$_POST['UserPassword']; 
    $result =mysql_query("SELECT * from UserCredentials WHERE UserName='$username' AND UserPassword='$password'",$con) or die(mysql_error()); 
    $cnt = mysql_num_rows($result); 
    if($cnt ==0) { echo "Login Failed"; } else { echo "Yes Successful Login" ; } ?> 
0

试试

$query = "SELECT * from UserCredentials WHERE UserName='$username' AND UserPassword='$password'"; 
echo "query= " . $query; 

看到你得到的查询是什么样子。您的查询中很可能有错误,您没有发现。最好的办法是复制echo'd结果并直接在数据库上运行它。

你更好的使用后:

$res = mysql_query($query,$con) or die('$query gave error: ' . mysql_error()); 

这会给你详细的错误信息从MySQL过。

最后但并非最不重要的一点是:不要再使用mysql_xxx函数,它们已被弃用,并且非常不安全。这意味着您的应用在未来的php升级后可能无法工作。

+0

这是从UserCredentials WHERE UserName ='jamshaid.ali'和UserPassword ='aliraza40'$ query给出错误:表'productivo.UserCredentials'不存在 – 2013-04-30 06:22:11

+0

但我已创建表 – 2013-04-30 06:22:42

+0

结果查询= SELECT * UserCredentials WHERE说这一切都不是:-)或者你的桌子真的不存在,或者你想念它拼写。如果所有这些都是正确的,请确保您已连接到正确的数据库。 – Borniet 2013-04-30 06:24:18