PHP使用PDO连接Mysql的返回值问题

我用PHP写了一个用户登录系统,数据库主键是用户名user_name。点击界面上的“注册”按钮,就向mysql库里插入一条数据。$dbh=newPDO("mysql:ho... 我用PHP写了一个用户登录系统,数据库主键是用户名user_name。点击界面上的“注册”按钮,就向mysql库里插入一条数据。
$dbh=new PDO("mysql:host=192.168.5.100:3306;dbname=stu_info",'flash','****');
$dbh->exsec("insert into users values('$user_name','$pwd');");
我现在想实现的功能是:如果输入的用户名与数据库的某一条数据重复,则返回一个警告:“用户名已存在”。应该如何写?
展开
 我来答
dksnear
推荐于2016-01-25 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:619万
展开全部
// pdo对象的query方法返回一个PDOStatement对象 调用PDOStatement对象的rowCount()方法可以获取查询的返回行数
if($dbh->query("select * from `users` where `user_name`='$user_name'")->rowCount())
    echo '用户名已存在!';
追问
你是先判断再插入,能不能通过PDO的返回值来判断用户名是否重复啊?
追答
if($dbh->exec("insert into users values('$user_name','$pwd') where not exists(select * from `users` where `user_name`='$user_name');
")->rowCount())
echo '用户名已存在!';
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式