0

我正在从我的 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

4

6 回答 6

5

问题是您正在尝试再次使用连接变量不要再次使用相同的变量使用其他变量

$res = mysql_query($query,$con);
$cnt  = mysql_num_rows($res);
于 2013-04-30T05:40:20.010 回答
0

您可以使用以下代码检查错误实际上您做错了什么

 $check = mysql_query("SELECT *  from  UserCredentials  WHERE UserName='$username' AND       UserPassword='$password'")or die(mysql_error());
于 2013-04-30T05:43:57.497 回答
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);


    ?>
于 2013-04-30T05:44:46.170 回答
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);
于 2013-04-30T05:44:50.343 回答
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" ; }  ?>
于 2013-04-30T06:07:32.297 回答
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 升级后可能不再工作。

于 2013-04-30T06:15:33.897 回答