参见英文答案 > How can I pass an array of PDO parameters yet still specify their types? 3个
我遇到了绑定SQL查询的liMIT部分的问题.这是因为查询是作为字符串传递的.我在这里看到another Q处理绑定参数,没有任何处理数组中的命名占位符.
这是我的代码:
public function getLatestWork($numberOfSlIDes,$type = 0) {$params = array();$params["numberOfSlIDes"] = (int) trim($numberOfSlIDes);$params["type"] = $type;$STH = $this->_db->prepare("SELECT slIDeID FROM slIDes WHERE visible = 'true' AND type = :type ORDER BY order liMIT :numberOfSlIDes;");$STH->execute($params);$result = $STH->fetchAll(PDO::FETCH_ColUMN);return $result; }
我得到的错误是:”20’附近的语法错误或访问冲突(20是$numberOfSlIDes的值).
我怎样才能解决这个问题?
最佳答案问题是execute()引用数字并将其视为字符串:从手册 – 具有与正在执行的SQL语句中的绑定参数一样多的元素的值数组.所有值都被视为PDO :: ParaM_STR.
总结 以上是内存溢出为你收集整理的php – 使用命名占位符设置PDO / MySQL LIMIT全部内容,希望文章能够帮你解决php – 使用命名占位符设置PDO / MySQL LIMIT所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)