2014-11-08 155 views
0

我有一個問題,所以我想這樣做,如果偶然的用戶搜索和它的代碼不再被激活。就這樣,我做了一個簡單的代碼:PHP不檢查MySQL數據庫中是否已經有記錄

$loginu = $_SESSION['login']; 
$query = "SELECT `usrlogin`,`idcode` FROM `aktywacja` WHERE idcode = $numer AND usrlogin = $loginu "; 
$result2 = mysql_query($query); 
echo mysql_error(); 
if (mysql_num_rows($result2) == 0) { 
    not found 
} 
else { 
    found 
} 

和崩潰了我下面的錯誤

在未知列'卡米爾「where子句」 警告:mysql_num_rows()預計參數1是資源,布爾在第56行給出的C:\ xampp \ htdocs \ kod.php 在這種情況下,我犯了一個錯誤?

請幫幫忙,

映入眼簾。

+0

'$ numer'的值是多少?'idcode'和'usrlogin'的數據類型是多少? – 2014-11-08 10:40:25

+0

$ numer是數字int [10],$ loginu是text varchar(20) – Kejl 2014-11-08 10:43:09

+0

檢查'$ numer'是否獲取值? – 2014-11-08 10:43:16

回答

2

只要確保這些字符串被包裹着的報價,如果他們不是整數:

WHERE idcode = $numer AND usrlogin = '$loginu' 

,並確保這個變量$numer確實定義,因爲在你的問題是沒有定義它。

強制性注:

Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

下面是它會是什麼樣的mysqli的預處理語句中使用時,如:

$loginu = $_SESSION['login']; 
$numer = // make sure this is defined!  

$db = new mysqli('localhost', 'username', 'password', 'database_name'); 

$query = "SELECT `usrlogin`,`idcode` FROM `aktywacja` WHERE idcode = ? AND usrlogin = ?"; 
$select = $db->prepare($query); 
// binding them 
$select->bind_param('is', $numer, $loginu); 
$select->execute(); 

if($select->num_rows > 0) { 
    // found 
} else { 
    // not found 
} 
+0

謝謝,我用過你的代碼,但是,即使沒有顯示記錄。 – Kejl 2014-11-08 10:59:06

+0

@Kejl可以解釋'但是,即使沒有顯示的記錄。抱歉,我不明白\ – Ghost 2014-11-08 11:05:17

+0

我已經使用過,並且我修改了代碼並顯示,儘管數據庫中沒有記錄找到該記錄。我的英文不好:( – Kejl 2014-11-08 11:23:37

0
check this code and if condtion check to not blank a session data. 
    and check a query value is yes to found and else to not found print. 

    $loginu = $_SESSION['login']; 
    if(isset($loginu)) 
    { 
     $query="SELECT `usrlogin`,`idcode` FROM `aktywacja` WHERE idcode='".$numer."' AND usrlogin ='".$loginu."'"; 
     $result = mysql_query($query); 
     if(mysql_num_rows($result) > 0) 
     { 
      echo "found"; 
     } 
     else 
     { 
      echo "not found"; 
     } 

    } 
0

嘗試在您查詢修改這一行 WHERE IDCODE = ' 「$ NUMER」' AND usrlogin =''。$ loginu。'''

相關問題