2013-04-30 128 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