【问题标题】:Combine multiple bindParam in mySQL width PDO [duplicate]在mySQL宽度PDO中组合多个bindParam [重复]
【发布时间】:2013-04-12 20:59:19
【问题描述】:

我是 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();

到一个数组?它是有意义的还是我应该保持原样?

【问题讨论】:

标签: mysql pdo sqlbindparameter


【解决方案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);

【讨论】:

  • 你测试过这个吗?
  • 对不起,凭记忆。我现在没有我的代码,但我很确定它是它/已编辑:是的,它已经过测试
【解决方案2】:

你可以试试这个

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

【讨论】:

  • 和我的建议有什么不同?
  • 但是 PDO::PARAM_STR 在哪里?
猜你喜欢
  • 2014-08-20
  • 1970-01-01
  • 2012-11-04
  • 1970-01-01
  • 2014-08-11
  • 2014-10-05
  • 2023-03-18
  • 2013-11-14
  • 1970-01-01
相关资源
最近更新 更多