首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一条记录不会存储到mysql db中

一条记录不会存储到mysql db中
EN

Stack Overflow用户
提问于 2012-01-25 18:50:09
回答 4查看 52关注 0票数 0

我试图将用户记录存储到我的表用户中,现在正在发生一个奇怪的问题,所有的数据都是存储的,而不是address记录。

这是我的表单代码

代码语言:javascript
复制
function RegisterUser($firstName,$LastName,$Gender,$Address,$phoneNumber,$mobileNumber,$facebookAccount,$userName,$password,$emailAddress) {

    $dob = $_POST['Year'] . '-' . $_POST['Month'] . '-' .$_POST['Day'];

$insertVisitor = "INSERT INTO user (userFirstName,userLastName,userDateOfBirth,userGender,userAddress,userPhoneNumber,userMobileNumber,userFacebookAccount,userUserName,userPassword,userEmailAddress) VALUES ('$FirstName','$LastName','$dob','$Gender','$Address','$phoneNumber','$mobileNumber','$facebookAccount','$userName','$password','$emailAddress')";

mysql_query("$insertVisitor") or die (mysql_error());



}

我确保了以下几点

  • 表单field addresstextarea,在我的操作文件中,同名为变量$Address。在mysql数据库中的
  • ,记录userAdddress是文本类型,默认长度为0。

我做错什么了?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-25 18:54:18

您是指SQL中的$address,而参数是$Address

变量是区分大小写的。

代码语言:javascript
复制
function RegisterUser($firstName,$LastName,$Gender,$Address, ...
                                                    ^
$insertVisitor = "INSERT INTO user .... ,'$address','$phoneNumber', .. )"
                                           ^

请注意(可能的mysql注入):$insertVisitor已经是一个字符串了,所以您不必再引用它了:

代码语言:javascript
复制
mysql_query("$insertVisitor") or die(mysql_error());
mysql_query($insertVisitor) or die(mysql_error()); //<--
票数 2
EN

Stack Overflow用户

发布于 2012-01-25 18:54:11

您做错的第一件事就是在一个巨大的SQL注入孔面前打开自己。

第二件事是PHP变量区分大小写。函数的参数列表有$Address (大写A),在查询字符串中使用$address (小A)。因此,您使用的是一个完全不同的变量,它不存在,导致PHP将其自动实例化为空白值。

票数 2
EN

Stack Overflow用户

发布于 2012-01-25 18:53:42

您的userAddress文本字段的长度应该大于0-尝试将其设置为您期望的地址,例如100个字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9008431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档