Php 我可以';t将数据插入MySQL表

Php 我可以';t将数据插入MySQL表,php,mysql,sql,pdo,insert-into,Php,Mysql,Sql,Pdo,Insert Into,只有当我尝试插入数据时,我才面临这个问题,当我尝试将数据插入到另一个具有不同值集的表时,相同的代码运行得非常好 <?php class crud { private $db; function __construct($DB_con) { $this->db = $DB_con; } public function create($atitle,$agen,$ams,$adob,$afn,$aln,$acob,$acoc,

只有当我尝试插入数据时,我才面临这个问题,当我尝试将数据插入到另一个具有不同值集的表时,相同的代码运行得非常好

<?php

class crud
{
    private $db;

    function __construct($DB_con)
    {
        $this->db = $DB_con;
    }

    public function create($atitle,$agen,$ams,$adob,$afn,$aln,$acob,$acoc,$aemail,$amob,$aaddr,$amesse)    {
        try
        {
            $stmt = $this->db->prepare("INSERT INTO contacts(title,gen,ms,dob,fn,ln,cob,coc,email,mob,addr,messe) VALUES(:atitle,:agen,:ams,:adob,:afn,:aln,:acob,:acoc,:aemail,:amob,:aaddr,:amesse)");
            $stmt->bindparam(":atitle",$atitle);
            $stmt->bindparam(":agen",$agen);
            $stmt->bindparam(":ams",$ams);
            $stmt->bindparam(":adob",$adob);
            $stmt->bindparam(":afn",$afn);
            $stmt->bindparam(":aln",$aln);
            $stmt->bindparam(":acob",$acob);
            $stmt->bindparam(":acoc",$acoc);
            $stmt->bindparam(":aemail",$aemail);
            $stmt->bindparam(":amob",$amob);
            $stmt->bindparam(":aaddr",$aaddr);
            $stmt->bindparam(":amesse",$amesse);
            $stmt->execute();
            return true;
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();  
            return false;
        }

    }
}

记录已成功插入!
对不起插入记录时出错!

标题 性别 婚姻状况 出生日期 名字 姓 出生国 可可 电子邮件 暴民 住址 梅塞奇 创造新记录
这是我的html部分,我在这里输入我的值

<?php

$DB_host = "localhost";
$DB_user = "root";
$DB_pass = "";
$DB_name = "event";


try
{
    $DB_con = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass);
    $DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
    echo $e->getMessage();
}

include_once 'class.crud.php';

$crud = new crud($DB_con);

?>

这是数据库配置文件


请帮帮我,我哪里出错了?

我也有同样的问题。这对我有用,也许对你也有用

将所有字符串变量设置为日期时间(不知道您的数据库),如下所示:

或者代替“做”


我希望这对你有帮助。^ ^

@Kirk Beard…帮帮我。这段代码有什么问题吗?你有什么错误吗?没有错误。我可以将源代码发送给你。你能帮我检查一下吗?提前谢谢。罪魁祸首是电子邮件字段。在解析电子邮件时,它会留下一个空白字段。如果我删除电子邮件部分,没有alt,一切正常修改代码。帮我在这里插入一封电子邮件。很抱歉再次打扰您。除了电子邮件字段外,其他一切都正常。无法将电子邮件插入MySQL表。数据库中的电子邮件字段是VARCHAR(45)字段吗?是的……VARCHAR(45)可能电子邮件地址长度超过45个字符?您完成了此操作?$aemail=“。$\u POST['aemail']"'; 可能尝试使用VARCHAR(60)我尝试增加MySQL表中电子邮件列的长度,但仍然在表中得到一个空白字段,而插入其他字段时没有任何错误。
<?php

$DB_host = "localhost";
$DB_user = "root";
$DB_pass = "";
$DB_name = "event";


try
{
    $DB_con = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass);
    $DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
    echo $e->getMessage();
}

include_once 'class.crud.php';

$crud = new crud($DB_con);

?>
$atitle = '"'.$_POST['actitle'].'"';