0

我是 PDO 的新手,实际上它有点复杂。

是否可以结合这些参数

$stmt->bindParam(':firstname', $firstname, PDO::PARAM_STR);
$stmt->bindParam(':lastname', $lastname, PDO::PARAM_STR);
$stmt->bindParam(':telephone', $telephone, PDO::PARAM_STR);
$stmt->bindParam(':fax', $fax, PDO::PARAM_STR);
$stmt->bindParam(':mobile', $mobile, PDO::PARAM_STR);
$stmt->execute();

到一个阵列?它有意义还是我应该保持原样?

4

2 回答 2

1

我记得以前做过这样的事情:

$arr = array();
$arr[':firstname'] = $firstname;
$arr[':lastname'] = $lastname;
$arr[':telephone'] = $telephone;
$arr[':fax'] = $fax;
$arr[':mobile'] = $mobile;
$stmt->execute($arr);

由于您没有使用任何花哨的参数类型,因此应该这样做。


是的,我确认这就是我正在做的事情并且有效。查看我个人代码的摘录:

$sql = "INSERT INTO `tbl` (relid, `type`, `table`, `name`) VALUES (:PARAM1, :PARAM2, :PARAM3, :PARAM4)";

$stmt = $cn->prepare($sql);

$arrQP = array();
$arrQP[":PARAM1"] = $key;
$arrQP[":PARAM2"] = $arrRel[0];
$arrQP[":PARAM3"] = $arrRel[1];
$arrQP[":PARAM4"] = $arrRel[2];

$stmt->execute($arrQP);
于 2013-04-12T21:01:46.387 回答
0

你可以试试这个

          $stmt->execute(array(
                        ':firstname' => $firstname,
                        ':lastname' => $lastname ,
                        ':telephone' => $telephone,
                        ':fax' => $fax,
                        ':mobile' => $mobile
                           ));
于 2013-04-12T21:09:24.703 回答