使用PDO插入查询时“名称必须是字符串”错误

时间:2012-12-13 14:47:37

标签: php sql pdo

我在这个区块中有一个奇怪的错误:

   public static function saveUser($form)
{

    $connexion = new PDO("mysql:host=localhost;dbname=cdiscodb", 'root', 'rthr'); // connexion à la BDD
    $connexion->setAttribute  (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO ope_tartine_nl(first_name,last_name,email,created_date,updated_date) VALUES (?,?,?,?,?)";
    $cmd = $connexion->prepare($sql);
    $result = $connexion->exec(array($form['name'], $form['lastname'], $form['email'], date("Y-m-d H:i:s"), date("Y-m-d H:i:s")));
}

错误是:

  

致命错误:函数名称必须是字符串

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

$sql = "INSERT INTO ope_tartine_nl(first_name,last_name,email,created_date,updated_date) VALUES (?,?,?,?,?)";
$cmd = $connexion->prepare($sql);
$result = $cmd->execute(array($form['name'], $form['lastname'], $form['email'], date("Y-m-d H:i:s"), date("Y-m-d H:i:s")));
}

您已将$connexion->exec作为$cmd->exec(......)

并使用$cmd->execute代替$cmd->exec