从mysql数据库获取数据时mysql获取错误

时间:2013-04-30 05:38:49

标签: php mysql sql

我从我的sql中获取数据它给出的错误是我的代码

    <?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($ 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():提供的参数不是第21行/home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/CheckUserCredentialsAPI.php中的有效MySQL结果资源 登录失败

您可以使用此网址加入

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

6 个答案:

答案 0 :(得分:5)

问题是你正在尝试再次使用连接变量,不要再使用同一个变量再使用其他一些变量

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

答案 1 :(得分:0)

你可以用下面的代码检查错误实际上你做错了什么

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

答案 2 :(得分: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);


    ?>

答案 3 :(得分:0)

在这里使用

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

然后使用结果集

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

一次。第二次使用$ condom。

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

答案 4 :(得分: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" ; }  ?>

答案 5 :(得分: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升级后,您的应用可能不再有效。