0

这是我的代码:

当我将数组更改为索引类型而不是关联时,它不会出错。但是,当我将它改回关联时,它开始给出错误。对此有什么帮助吗?

$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();
4

1 回答 1

1

查询中的占位符是位置 (?) 占位符。
将它们更改为命名(:name
或传递array_values($entryData)给执行

尽管您必须从Team Name键中删除一个空格才能使用命名占位符

于 2013-09-06T13:52:44.503 回答