我有一个登陆界面,我想用户输入用户名时,若不存在,则提示注册,但显然我可能不太清楚sql语句,所以一直有问题,调试时即使输入了数据库中不存在的用户名,也不会提示,望解答
if (!empty($_POST[‘login’])) {
<code>//考虑用户名不存在的情况,提示$isset_sql="select username from user where username='$username'";$is_exist=mysql_query($isset_sql); if(!$is_exist){ echo "<script>alert('当前用户不存在,请您检查或选择注册!');window.location.href='article.login.php'</script>"; exit(); }</code>
<code>$query = "select password from user where username='$username'";..............</code>
回复内容:
我有一个登陆界面,我想用户输入用户名时,若不存在,则提示注册,但显然我可能不太清楚sql语句,所以一直有问题,调试时即使输入了数据库中不存在的用户名,也不会提示,望解答
if (!empty($_POST[‘login’])) {
<code>//考虑用户名不存在的情况,提示$isset_sql="select username from user where username='$username'";$is_exist=mysql_query($isset_sql); if(!$is_exist){ echo "<script>alert('当前用户不存在,请您检查或选择注册!');window.location.href='<div style="color:transparent">!本文来源gaodai.ma#com搞#代!码(网</div><em>搞gaodaima代码</em>article.login.php'</script>"; exit(); }</code>
<code>$query = "select password from user where username='$username'";..............</code>
首先,不要再用mysql_*
一系列的连接方式了。请改成PDO
或者MySQLi
然后你的问题答案:mysql_query
只是发送查询请求到数据库,你还需要执行mysql_fetch_assoc
来获取数据库的回应。
Warning: mysql_*
已经被PHP正式移除。
<code class="php">// 连接数据库部分$db = new PDO('mysql:host=localhost;dbname=数据库名称','用户名','密码');$db->exec('set names utf8');// 使用预处理解决SQL注入漏洞的问题$stmt = $db->prepare('select username from user where username = :username');// 绑定参数$stmt->bind(':username',$username,PDO::PARAM_STR);// 执行查询$stmt->execute();// 获取数据$user = $stmt->fetchColumn();echo $user ? '已注册' : '未注册';</code>