这是我收到的错误 错误:'字段列表'中的未知列'David Beckham' 我被困在这里大约2个小时试图找出问题所在。 这里有人想指出我的代码有什么问题吗? 非常感谢您的帮助。
<?php
define('DB_NAME', 'testdb');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
//logon
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link){
die('Could not connect: '. msql_error());
}
// select the database you gonna work with
$db_selected = mysql_select_db(DB_NAME, $link);
if(!$db_selected){
die('Cant use' . DB_NAME . ':' . mysql_error());
}
$value = $_POST['FullName'];
$value2 = $_POST['Email'];
$value3 = $_POST['Postcode'];
$value4 = $_POST['DateofBirth'];
$value5 = $_POST['Gender'];
//insert into table.
$sql = "INSERT INTO vajayjay (FullName, Email, Postcode, DateofBirth, Gender) VALUES (`$value`, `$value2`, `$value3`, `$value4`, `$value5`)";
if(mysql_query($sql)){
echo "Thank you for signing up";
}else{
die('Error:'. mysql_error());
}
mysql_close();
?>
答案 0 :(得分:0)
从变量
中删除反引号正确的方式..
$sql = "INSERT INTO vajayjay (`FullName`, `Email`, `Postcode`, `DateofBirth`, `Gender`) VALUES ('$value', '$value2', '$value3', '$value4', '$value5')";
此mysql_*
)扩展程序自PHP 5.5.0
起已弃用,将来会被删除。相反,应使用MySQLi
或PDO_MySQL
扩展名。切换到PreparedStatements
甚至可以更好地抵御SQL注入攻击!
答案 1 :(得分:0)
您正在为varible使用backtrics。这仅适用于列
$sql = "INSERT INTO vajayjay (`FullName`, `Email`, `Postcode`, `DateofBirth`, `Gender`) VALUES ('$value', '$value2', '$value3', '$value4', '$value5')";
使用列名称的后缀
(`FullName`, `Email`, `Postcode`, `DateofBirth`, `Gender`)
用于逃避目的的变量的引用
('$value', '$value2', '$value3', '$value4', '$value5')