我的插入有问题。
我在下面有这个代码,当我点击提交按钮进行订阅时,我没有收到任何错误,但我没有在我的数据库中收到插入内容。
这是一种奇怪的情况,因为一切似乎都是正确的:
- >我没有任何错误消息
- >如果我回显echo $email;
和echo $code;
变量具有正确的值
- >表的名称是正确的
你能看到一些可以解决这个问题的东西吗?
我的Php:
<?php
if(isset($_POST['newsletter_subscription']) && $_POST['newsletter_subscription'] == 'register')
{
$email = $_POST['email'];
$code = md5($email);
try
{
$subscription = $pdo->prepare("INSERT into subscriptions (email,code,status) VALUES = :email,:code,:status");
$subscription->bindValue(":email", $email);
$subscription->bindValue(":code", $code);
$subscription->bindValue(":status", 'inactive');
$subscription->execute();
}
catch(PDOException $e)
{
$e->getmessage();
}
}
?>
我的Html表单:
<form action="" name="newsletter" method="post" enctype="multipart/form-data">
<label>
<input type="text"id="email2" name="email" placeholder=" e-mail" required/>
</label>
<br />
<label id="submit">
<input type="hidden" name="newsletter_subscription" value="register" />
<input type="submit" name="register" value="Register" src="" />
</label>
</form>
答案 0 :(得分:3)
您的INSERT语法略有偏差:
"INSERT into subscriptions (email,code,status) VALUES = :email,:code,:status"
应该是
"INSERT into subscriptions (email,code,status) VALUES (:email,:code,:status)"
答案 1 :(得分:2)
您在$codigo
中使用sql
,但在绑定中使用$code
。
INSERT
也是这样的:
$subscription = $pdo->prepare("INSERT into subscriptions (email,code,status) VALUES (:email,:code,:status)")
总体:
try
{
$subscription = $pdo->prepare("INSERT into subscriptions (email,code,status) VALUES (:email,:code,:status)");
$subscription->bindValue(":email", $email);
$subscription->bindValue(":code", $code);
$subscription->bindValue(":status", 'inactive');
$subscription->execute();
}
catch(PDOException $e)
{
$e->getmessage();
}