php+这样的SQL语句出现什么问题
这个用户注册的一个程序,数据库中的表为user字段为idusernameretgiser_time下面是相应的代码:<?phprequire("../global.php...
这个用户注册的一个程序,数据库中的表为user 字段为 id username retgiser_time
下面是相应的代码:
<?php
require("../global.php");//创建数据库对象
@session_start();//用于验证码!
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$username=$_POST['username'];
$password=$_POST['password'];
$password1=$_POST['password1'];
if( $username==""|| $password==""|| $password1==""||$_POST['authinput']=="")
{
warn("请完整填写好注册信息...");
}
else //如果所有信息都填写
{
$sql="select * from user where username=".$username;
$result=$DB->query($sql);
if($result['username']!=0)
{ warn("该用户名已存在,请重新输入另一个用户名!"); }
else if( $password!= $password1)
{
warn("两次密码不相同,请重新输入!");
}
else if (strcasecmp($_SESSION['code_str'],$_POST['authinput'])==0)
{ //这里写获取的内容和sql语句;
$sql="insert into user(username,password,register_time)";
$sql.="values('".$username."','".$password."',now())";
$DB->query($sql);
warn("恭喜,您已成功注册!","./index.php");
}
else
{
warn("验证码错误,请重新输入");
}
}
}
?>
我注册用户名为小牛 密码为123456
结果显示:
Array ( [username] => 小牛 [password] => 123456 )
数据库发生错误: SQL查询语句出错: select * from user where username= 小牛
MySQL 返回错误信息: Unknown column '灏忕墰' in 'where clause'
脚本终止
我的用意首先是查询user表中是否有用户名为“小牛”的用户,如果有的话提醒用另一个名字注册。从错误信息来看,查询语句应该是把username= 小牛看出字段条件进行查询。怎么办呢?
注:后面的username加上单引号改为 $sql="select * from user where username=".'$username';后仍然不行。
求助,谢谢! 展开
下面是相应的代码:
<?php
require("../global.php");//创建数据库对象
@session_start();//用于验证码!
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$username=$_POST['username'];
$password=$_POST['password'];
$password1=$_POST['password1'];
if( $username==""|| $password==""|| $password1==""||$_POST['authinput']=="")
{
warn("请完整填写好注册信息...");
}
else //如果所有信息都填写
{
$sql="select * from user where username=".$username;
$result=$DB->query($sql);
if($result['username']!=0)
{ warn("该用户名已存在,请重新输入另一个用户名!"); }
else if( $password!= $password1)
{
warn("两次密码不相同,请重新输入!");
}
else if (strcasecmp($_SESSION['code_str'],$_POST['authinput'])==0)
{ //这里写获取的内容和sql语句;
$sql="insert into user(username,password,register_time)";
$sql.="values('".$username."','".$password."',now())";
$DB->query($sql);
warn("恭喜,您已成功注册!","./index.php");
}
else
{
warn("验证码错误,请重新输入");
}
}
}
?>
我注册用户名为小牛 密码为123456
结果显示:
Array ( [username] => 小牛 [password] => 123456 )
数据库发生错误: SQL查询语句出错: select * from user where username= 小牛
MySQL 返回错误信息: Unknown column '灏忕墰' in 'where clause'
脚本终止
我的用意首先是查询user表中是否有用户名为“小牛”的用户,如果有的话提醒用另一个名字注册。从错误信息来看,查询语句应该是把username= 小牛看出字段条件进行查询。怎么办呢?
注:后面的username加上单引号改为 $sql="select * from user where username=".'$username';后仍然不行。
求助,谢谢! 展开
展开全部
我不熟悉php,但觉得应该这样写:
$sql="select * from user where username='".$username."'";
$sql="select * from user where username='".$username."'";
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看你的字段名跟库里的统一不!注意从库到页面统一编码格式!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除数字外建议都用单引号把变量括起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询