2013-05-09 4 views
1

У меня есть таблица ver_code в моей базе данных и внутри таблицы есть только одна строка с именем code, и я вставил несколько проверочных кодов, таких как ABCDEF, GHIJKL, например, теперь мой следующий код не смог проверить код из моей таблицы, используя простую форму нижеCant veryfi данные из базы данных mysql

<?php 

if (isset($_POST['ver_code'])) 
    { 

     $ver_code = $_POST['ver_code']; 

     if(!empty($ver_code)){ 

      try{ 
       $conn = new PDO("mysql:host=localhost;dbname=pro1", "pro1", "4931//4931"); 
      } 
      catch(PDOException $pe) 
       { 
        die('Connection error, because: ' .$pe->getMessage()); 
       } 

       $sql = "SELECT `code` FROM `ver_code`"; 
       $stmt = $conn->query($sql); 

       if(!$stmt) 
       { 
        die("Execute query error, because: ". $conn->errorInfo()); 
       } 

       $stmt->setFetchMode(PDO::FETCH_ASSOC); 
       $row = $stmt->fetch(); 

       if($row['code'] == $ver_code['code']){ 

        echo "Account Verified ! "; 

       }else{ 
        echo "Invalid Verification Code !"; 
       } 



     }else{ 
     echo "Plz enter a verification code ... "; 
     } 

    } 

?> 

<form action="index2.php" method="POST" > 
    <input type="text" name="ver_code" /> 
    <input type="submit" value="Verify" /> 
</form> 
+0

однако, когда я перехожу $ строки [ 'код'] == $ ver_code [ 'код'] в $ строки [ 'код'] == $ _POST ['ver_code']), то он может проверять только одну информацию из строки (только ABCDEF) – fahim74

ответ

2

я сомневаюсь, эта линия

$row['code'] == $ver_code['code']

должно быть

$row['code'] == $ver_code; as $ver_code is simple post переменная не массив.

EDIT: если вам нужно проверить из всех строк

$stmt = $conn->prepare("SELECT `code` FROM `ver_code` where code= ?"); 
$stmt->bindParam(1,$ver_code); 
$stmt->execute(); 
if($stmt->rowCount()>0){ 
echo "Account Verified "; 
}else{ echo "Invalid Verification Code";} 
+0

, которая может проверять только одну информацию из строки «code» – fahim74

+0

, если вам нужно проверить данные из всех строк, почему вы не используете пользователя 'SELECT code FROM' ver_code где code = $ ver_code' –

+0

Хорошо, что решает мою проблему ... большое вам спасибо ... и вот полный код ... – fahim74