PDO Prepare语句不处理参数 [英] PDO Prepare statement not processing parameters

查看:50
本文介绍了PDO Prepare语句不处理参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经竭尽全力解决似乎是一个小问题,但无济于事.

I've exhausted all efforts at what appears to be a trivial problem, but gotten nowhere.

有一个简单的Prepare语句:

There is a simple Prepare statement:

$qry = $core->db->prepare("SELECT * FROM users WHERE email = '?'");
$qry->execute(array('email@address.com'));

但是,不返回任何行.使用硬编码到查询中的参数运行查询会导致成功选择一行.我尝试了许多不同的准备方法,但即使是这种最简单的形式也无法使用.

However, no rows are returned. Running the query with the parameters hardcoded into the query results in a successful selection of one row. I've tryed many different methods of doing the prepare, but even it this most simple form it isn't working.

PDO对象存储在称为Core的单例中. PDO正在使用mysql驱动程序.

The PDO object is stored in a singleton called Core. PDO is using the mysql driver.

推荐答案

从查询中删除引号:

("SELECT * FROM users WHERE email = ?");

使用占位符(?符号)的原因是忘记了引号. PDO将自动添加它们.

The reason to use placeholders (? symbol) is to forget about quotes. PDO will add them automatically.

这篇关于PDO Prepare语句不处理参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆