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'].'"';