Php PDO无法插入记录

Php PDO无法插入记录,php,pdo,Php,Pdo,在这里,我试图使用下面的代码将我的记录插入数据库。我面临着一个奇怪的问题。当我插入数据时,我得到以下错误 注意:未定义索引:city_state 注意:未定义索引:country 查询失败SQLSTATE[23000]:完整性约束冲突:1048列“GuestState”不能为空 但是当我删除这两个$cstate=$\u POST['city\u state'],$ccountry=$\u POST['country']时,它会正确插入剩余的数据。我是php pdo的新手。我不知道我在哪里出错了?

在这里,我试图使用下面的代码将我的记录插入数据库。我面临着一个奇怪的问题。当我插入数据时,我得到以下错误

注意:未定义索引:city_state

注意:未定义索引:country

查询失败SQLSTATE[23000]:完整性约束冲突:1048列“GuestState”不能为空

但是当我删除这两个
$cstate=$\u POST['city\u state']
$ccountry=$\u POST['country']
时,它会正确插入剩余的数据。我是php pdo的新手。我不知道我在哪里出错了?为什么这两个东西不将数据存储到数据库中

$cstate = $_POST['city_state'];
$ccountry = $_POST['country'];   
try
    {
        $db = $conn->prepare("INSERT INTO ebvouchers ( VoucherReference, BookingDate, CheckIndate, CheckOutDate, MealPlanID_Fk, RoomTypeID_Fk, GuestName, TotalAdults, Childrens, Infants, GuestPhone, GuestEmail, GuestFax, GuestAddressLine1, GuestAddressLine2, GuestRegion, GuestCity, GuestState, GuestCountry, GuestCurrency, GuestCurrencyTo, CurrencyAmount, GuestCurrencyValue ) VALUES ( :reference, :refdate, :ccin, :cout, :r_key, :r_key, :gname, :totaladults, :childrens, :infants, :gphone, :gemail, :gfax, :gaddress1, :gaddress2, :gregion, :city, :state, :country, :currency, :currencyto, :amount, :currencyvalue )");
        $db->execute(array(':reference'=>$creference, ':refdate'=>$crefdate, ':ccin'=>$ccin, ':cout'=>$cout, ':r_key'=>$ref_key, ':gname'=>$cgname, ':totaladults'=>$ctotaladults, ':childrens'=>$cchildrens, ':infants'=>$cinfants, ':gphone'=>$cgphone, ':gemail'=>$cgemail, ':gfax'=>$cgfax, ':gaddress1'=>$cgaddress1, ':gaddress2'=>$cgaddress2, ':gregion'=>$cregion, ':city'=>$ccity, ':state'=>$cstate, ':country'=>$ccountry, ':currency'=>$ccurrency, ':currencyto'=>$ccurrencyto, ':amount'=>$camount, ':currencyvalue'=>$ccurrencyvalue ));
    }
    catch(PDOException $e)
    {
        echo 'Query Failed'.$e->getMessage();
    }
该错误本身表明,城市/州国家不是POST参数中定义的索引


检查HTML表单并将这些参数发布到服务器,然后检查。

问题是,
$\u post
不包括两个值:
$\u post['city\u state']
$\u post['country']
响应这两个值并放置模具;echo$cstate=$\u POST['city\u state'];echo$ccountry=$_POST['country'];死亡要检查它们是否有值…还有一种方法可以在数据库中设置默认值。您还有2x
:r\u key,:r\u key
@Fred ii-这两个键用于MealPlanID\u Fk,RoomTypeID\u Fk。。
Notice: Undefined index: city_state

Notice: Undefined index: country