php - 无法检查用户名是否存在

标签 php mysql

我创建了一个将用户名密码插入 mysql 数据库的注册程序。我现在正在尝试检查用户名是否存在。我写了下面的程序。它不工作。它显示“mysql_num_rows() 期望参数 1 是资源。” 我真的需要你的专家建议

注册.php

<?php 
require 'jcon.php';
if(isset($_POST["username"], $_POST["firstname"],$_POST["password"])){
    $username=$_POST["username"];
    $firstname=$_POST["firstname"];
    $password=$_POST["password"];
}
$query = mysql_query("SELECT * FROM member WHERE username='$username'");
if(mysql_num_rows($query) != 0)
{
echo "Username already exists";
}
else{
$sql="INSERT INTO member (username, firstname, password)
VALUES ('$username', '$firstname','$password')";}
if(!mysqli_query($con,$sql)){
    die('Error: ' . mysqli_error($con));
}
echo "Dear {$firstname} ! you have been successfully registered. "
?>

最佳答案

it showing "mysql_num_rows() expects parameter 1 to be resource

这是 mysql_query 在失败时返回 false 的典型情况,因此触发了臭名昭著的:

mysql_num_rows() expects parameter 1 to be resource

这可能是由多种因素造成的。尝试在 phpMyAdmin 中运行查询或直接到数据库并查看错误或通过 mysql_error 获取最后一个 mysql 错误.

最好始终检查 mysql_query 的返回值是否为 false 或者 mysql_error 字符串是否不为空:

if ($result and empty(mysql_error()))
    // everything ok

注意:永远不要混合使用 mysql_mysqli_ 函数。如果您必须选择,我会选择 mysqli,因为 mysql_* 函数被认为已弃用。

关于php - 无法检查用户名是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16369710/

相关文章:

php - SQL 选择连接表的位置

mysql - codeigniter 使用 case 语句进行连接

mysql连接没有释放?

mysql - SQL - 条件连接

php - 为什么上传代码不能在 firefox 28 以外的浏览器中工作?

php - 在 Magento PHP 中显示之前检查文件是否存在?

php - 当 Ajax 建表时,如何根据其中的数据量有条件地设置 <td> 的高度?

php - 将两个 Laravel 集合与交替的行组合起来

php - 如何通过 php (Linux) 获取系统接口(interface)的 MAC 地址

php - 如何连续创建提交表单并将输入与该行相关联?