我试图将用户记录存储到我的表用户中,现在正在发生一个奇怪的问题,所有的数据都是存储的,而不是address记录。
这是我的表单代码
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 address是textarea,在我的操作文件中,同名为变量$Address。在mysql数据库中的。
我做错什么了?
发布于 2012-01-25 18:54:18
您是指SQL中的$address,而参数是$Address。
变量是区分大小写的。
function RegisterUser($firstName,$LastName,$Gender,$Address, ...
^
$insertVisitor = "INSERT INTO user .... ,'$address','$phoneNumber', .. )"
^请注意(可能的mysql注入):$insertVisitor已经是一个字符串了,所以您不必再引用它了:
mysql_query("$insertVisitor") or die(mysql_error());
mysql_query($insertVisitor) or die(mysql_error()); //<--发布于 2012-01-25 18:54:11
您做错的第一件事就是在一个巨大的SQL注入孔面前打开自己。
第二件事是PHP变量区分大小写。函数的参数列表有$Address (大写A),在查询字符串中使用$address (小A)。因此,您使用的是一个完全不同的变量,它不存在,导致PHP将其自动实例化为空白值。
发布于 2012-01-25 18:53:42
您的userAddress文本字段的长度应该大于0-尝试将其设置为您期望的地址,例如100个字符。
https://stackoverflow.com/questions/9008431
复制相似问题