PHP中怎样使用MYSQL查询语句判断字段中是否存在指定数据

<?php$dbhost='localhost';$dbuser='root';$dbpw='root';$dbcharset='gb2312';$tablepre='n... <?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpw = 'root';
$dbcharset = 'gb2312';
$tablepre = 'nu_';
//连接MySQL数据库
$link = mysql_connect($dbhost,$dbuser,$dbpw);
if(!$link)
{
echo "数据库连接失败"."</br>";
die();
}
mysql_query("set names ".$dbcharset,$link);
//定位数据库
if(!mysql_select_db($dbname,$link))
{
echo "无法定位数据库"."</br>";
mysql_close($link);
die();
}
//检查相关注册信息是否已经被占用
$query="select * from ".$tablepre."common_members"." where username ='".$_POST['reg_username']."'";
$result=mysql_query($query,$link);
if(mysql_fetch_object($result))
{
echo '<script type="text/javascript">alert("用户名已被占用 ,请重新输入!");location.replace("../reg/index.php");</script>';
die();
}
?>
为什么空的数据库 也会提示“用户名被占用”?
展开
 我来答
dick8121
2010-08-20 · TA获得超过840个赞
知道小有建树答主
回答量:300
采纳率:100%
帮助的人:203万
展开全部
我建议你改一下
$username = isset($_POST["reg_username"]) ? mysql_escape_string(trim($_POST["reg_username"])) : "";
if (strlen($username) > 0) {
$query = "SELECT COUNT(*) FROM $tablepre.common_membes WHERE username = '$username'";
$result = msyql_query($query, $link);
$row = mysql_fetch_array($result);
if ($row[0] > 0) {
//已经被占用
}
}
else {
//没有输入用户名
}
idc365
2010-08-20 · TA获得超过262个赞
知道答主
回答量:88
采纳率:0%
帮助的人:44万
展开全部
$sql="select * from ".$tablepre."common_members"." where username ='".$_POST['reg_username']."'";

$query = mysql_query($sql);
$result = mysql_result($query, 0);

if ($result) {
exit("用户名已被使用!");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕福bZ
2010-08-20
知道答主
回答量:16
采纳率:0%
帮助的人:8万
展开全部
可能一位你的$_POST['reg_username']是空的,仔细检查一下吧……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式