【问题标题】:Php / MYSQL problems. mysql_num_rows() returns 0php/MYSQL 的问题。 mysql_num_rows() 返回 0
【发布时间】:2012-11-25 04:58:33
【问题描述】:

我正在尝试为我的网站创建一个登录系统。这就是我所拥有的。

    include('MYSQL_connect_userdata.php');
    $query = "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password' ";
    $result = mysql_query($query) or die("cant find table");
    $count2 = mysql_num_rows($result);
    $resultarray = mysql_fetch_array($result);
    echo "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password' ";

MYSQL_connect_userdata.php 连接mysql服务器并选择数据库。

当我粘贴 echo "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password'";

phpmyadmin 返回我正在寻找的行。 (包含用户名和密码”)

由于某种原因,即使输入是正确的值,mysql_num_rows($result) 也会返回 0。输入是在 php 文件顶部使用 $_POST 获取的

$username = $_POST['username'];
$password = $_POST['password'];

如果我更改查询以排除“AND password = '$password'”;部分然后页面按预期工作并且 mysql_num_rows 返回 1。

有什么想法吗?我对 php 很陌生,因此将不胜感激。谢谢。

【问题讨论】:

  • 您的申请是对SQL injection的调用
  • 回显查询以查看它在脚本中的样子

标签: php mysql phpmyadmin


【解决方案1】:
$con = mysql_connect("localhost", "peter", "abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db",$con);

$sql = "SELECT * FROM person";


//Your missing the connection , store in a variable
$result = mysql_query($sql,$con);

echo mysql_num_rows($result);

mysql_close($con);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2011-12-05
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多