【发布时间】:2014-01-28 10:09:49
【问题描述】:
我将简单的 SQL 查询更改为 pdo.now,当我点击登录按钮时,我收到了这个错误:
未定义变量:/var/www/login.php 第 16 行中的行
注意:未定义的变量:导致第 17 行的 /var/www/login.php
警告:mysql_num_rows() 期望参数 1 是资源,在第 17 行的 /var/www/login.php 中给出 null 您的登录名或密码无效
代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors','5');
include("conn.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$u_name=addslashes($_POST['username']);
$password=addslashes($_POST['password']);
$sql="SELECT id FROM admin WHERE username='$u_name' and password='$password'";
$q = $conn->query($sql) or die("failed!");
$r = $q->fetch(PDO::FETCH_ASSOC);
$active=$row['active'];
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
session_register("u_name");
$_SESSION['login_user']=$u_name;
header("location: main.php");
}
else
{
echo ("Your Login Name or Password is invalid");
}
}
?>
【问题讨论】:
-
我看不到您在任何地方分配 $result 变量!?
-
你不能在同一个查询中同时使用 PDO 和 mysql。
-
不相关,但由于您使用的是 PDO,您可以(并且应该)也使用准备好的语句代替
addslashes()。 -
是的,我知道你能告诉我我应该如何计算我的行数
标签: php