我正在尝试编写一个PHP函数,用于检查给定值是否在数据库的列中。该函数采用参数$userName
和$link
,其中$userName
将在数据库userid
的{{1}}列中检查。这是我到目前为止所得到的:
$link
页面总是说给定的用户名不是唯一的。
答案 0 :(得分:1)
试试这个:
function isUnique($userName, $link) {
return !!mysqli_fetch_row(mysqli_query($link, "select `userid` from `login` where `userid`='".$userName."'"));
}
由于mysqli_fetch_row
如果没有行则返回null
,如果有一个数组则返回数组,因此转换为布尔值会告诉您是否存在行。
答案 1 :(得分:0)
$userName = mysqli_escape_string($userName); // Or such
"SELECT COUNT(*) FROM login WHERE userid='$userName'"
BTW IMO最好INSERT
,然后检查插入的行数和错误代码/ msg。
如果那是0和“......重复...”,那么你知道它正在使用中,并且可以正确对待。
答案 2 :(得分:0)
function isUnique($userName, $link)
{
$result = mysqli_query($link, 'SELECT `userid`
FROM `login`
WHERE `userid` = \''.$userName.'\''));
return mysqli_num_rows($result) == 0;
}
复制