php 数据库 sql语句

<?phprequire_once("UserEntity.php");classControl{functionaddUser(User$user){$con=mysq... <?phprequire_once("UserEntity.php");class Control{ function addUser(User $user){ $con = mysql_connect("localhost","root","root"); if(!$con){ die('Could not connect:'.mysql_error()); } mysql_select_db("test",$con); echo $user->getId(); $sql = "insert into user(ID,login_name,password,real_name,IDCard,sex,phone,address) values('$user->getId()','$user->getLoginName()', '$user->getPassword.()','$user->getRealname()','$user->getIDCard()','$user->getSex()','$user->getPhone()','$user->getAddress()')"; if(!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); } mysql_close($con); return true; }}?>

$user里面有值,已经验证,能加入数据库,但是数据为空,报的错位sql语句第二行,也就是换行过后的sql 求解释。。。
展开
 我来答
frogley
2014-01-02 · TA获得超过1854个赞
知道小有建树答主
回答量:1008
采纳率:50%
帮助的人:1074万
展开全部
拼接sql语句时,字符串类型的前后要加上单引号哦
更多追问追答
追问
php 也要拼接?  我按照JAVA的方式来拼接的,是错误的。。
追答

你这里

$sql = "insert into user(ID,login_name,password,real_name,IDCard,sex,phone,address) values('$user->getId()','$user->getLoginName()', '$user->getPassword.()','$user->getRealname()','$user->getIDCard()','$user->getSex()','$user->getPhone()','$user->getAddress()')";

就是在拼接sql语句嘛。不过php里是用.作为连接符。大概像这样:

$sql = "insert into user(ID,login_name,password,real_name,IDCard,sex,phone,address) values(".$user->getId().",'".$user->getLoginName()."','".$user->getPassword.()."','".$user->getRealname()."','".$user->getIDCard()."','".$user->getSex()."','".$user->getPhone()."','".$user->getAddress()."')";
匿名用户
2014-01-02
展开全部
把sql语句打印出来,连同mysql报错,应该很容易发现哪错了

估计是记录项类型不匹配吧,入库的数值都用了单引号,对应表的各记录项类型都定义为字符吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式