这是我的代码:
当我将数组更改为索引类型而不是关联时,它不会出错。 但是当我把它改回到关联时,它开始给出错误。 对此有何帮助?
$dbh=new PDO("mysql:host=localhost;dbname=sj_db", 'root', '');
$entryData = array(
"Team Name"=>$_POST['name']
, "Won"=>$_POST['w']
, "Lost"=>$_POST['l']
, "Draw"=>$_POST['d']
, "Points"=>$_POST['p']
);
$sql="INSERT INTO fb (`Team Name`, Won, Lost, Draw, Points) VALUES (?, ?, ?, ?, ?)";
$sth=$dbh->prepare($sql);
//$sth->execute($entryData[`Team Name`],$entryData['Won'],$entryData['Lost'],$entryData['Draw']
// ,$entryData['Points']);
$sth->execute($entryData);
//$sth->closeCursor();
答案 0 :(得分:1)
查询中的占位符是位置(?)
将它们更改为命名(:name
)
或者将array_values($entryData)
传递给执行
虽然您必须从Team Name
键中删除空格才能使用命名占位符