当我尝试执行此操作时,AND收到以下错误:
Error: Incorrect integer value: 'Age' for column 'age' at row 1
MYSQL - >我创建了一个数据库abc里面创建了一个名为ee的表,在表中我创建了一个字段“age”,类型 - “INT”,长度 - 10,默认 - NULL
有一个人可以帮助我为什么会这样做错误 - 错误的整数值:第1行第'年龄'列的'年龄'
<html>
<body>
<form action="test5.php" method="post">
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
test5.php(页)
$Age= $_POST[ age ] ;
echo $age;
$con = mysql_connect("localhost","root","***");
if( !$con )
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("abc", $con);
$sql = "INSERT INTO ee (Age) VALUES ('Age')";
if( !mysql_query( $sql, $con ) )
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
答案 0 :(得分:4)
您正在插入“年龄”字样,而不是变量$ age
你还应该来清理这个变量。
$age = intval($_POST['age']);
echo $age;
$con = mysql_connect("localhost","root","vvvrks");
mysql_select_db("abc", $con);
$sql = "INSERT INTO ee (Age) VALUES ('$age')";
mysql_query($sql,$con) or trigger_error(mysql_error()." ".$sql);
echo "1 record added";
答案 1 :(得分:0)
如果您想将用户年龄存储为整数,则应更改查询:
$sql="INSERT INTO ee (Age) VALUES ('Age')";
到
$Age = (int)$_POST['Age'];
$sql="INSERT INTO ee (Age) VALUES ($Age)";
*注意字符串强制转换,您应该始终过滤这些值以防止sql-injection
错误消息本身:
Mysql告诉你它无法在integeter字段中存储字符串“Age”。您想要存储变量$ Age
的内容