这是我的PHP代码启动和使用的连接类型是PDO。
//connection with server
$servername = "localhost";
$username = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=gujaratoil", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
if(isset($_POST['submit']))
{
//at the beginning null value is set
$name = $emailaddress="";
$sql = "INSERT INTO
registration(name,emailaddress)VALUES('$_POST[name]','$_POST[emailaddre
ss]')";
}
?>
我尝试了所有可用的解决方案;我该怎么做才能解决这个问题?我正在使用PDO连接。
答案 0 :(得分:0)
使用PDO时,您应该使用预处理语句,而不是直接在SQL中嵌入变量。
我认为,给出上面代码为什么插入失败的原因是由于$_POST[]
〜$_POST[name]
内的字段名称周围缺少引号,这可能导致{ {1}}错误
undeclared constant