Сравнение ценности при отправке и базе данных - PullRequest
1 голос
/ 03 августа 2011

Класс "dbcred.php"

<?php
   # pdo_testdb_connect.php - function for connecting to the "test" database

   function testdb_connect ()
   {
     $dbh = new PDO("mysql:host=localhost;dbname=dbname", "root", "");
     return ($dbh);
   }
?>

PHP

<?php
#connect mysql
require_once "dbcred.php";
$dbh = testdb_connect ();

session_start(); 
$username = $_POST['regduser']; 
$userpass = md5($_POST['regdpass']); 
$result = mysql_query("SELECT * FROM Student WHERE regduser= '$username' AND regdpass = '$regdpass'");

if (mysql_num_rows($result)!= 1) {   $error = "Login failed"; 
 #include "loginform.php"; 
} else { 
 $_SESSION['username'] = "$username"; 
 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; 
 #include "membersection.php"; 
}
?>

HTML

  <form action="inc/check_regUsr.php" method="post" id="userLogon">
        <div class="field required">
        Username: <input type="text" name="regduser" tabindex="1" /><br />
        </div>
        <div class="field required">
        Password: <input type="text" name="regdpass" tabindex="2" /><br />
        </div>
        <input type="submit" name="submitUser" />
    </form>

Когда я пытаюсь представить действительные учетные данные, он говорит: Предупреждение: mysql_num_rows () ожидает, что параметр 1 будет ресурсом, логическое значение указывается в строке 12

Почему этоне так, и как я могу это исправить?

Спасибо

1 Ответ

1 голос
/ 03 августа 2011
$result = mysql_query("SELECT * FROM Student WHERE regduser= '$username' AND regdpass = '$regdpass'");

Я не знаю, как работает класс вашей базы данных.Поэтому я напишу общий код подключения mysql.

mysql_connect($host,$username,$password);
mysql_select_db($db);

Нет, вы не можете выполнить запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...