PDO execute执行失败 没有报错,但是execute(array('admin_sessid'))的执行结果为false 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 array('admin_sessid') 不是这里这个绑定的参数肯定是admin_sessid字符串,不是变量值哦 Example #3 使用一个含有插入值的数组执行一条预处理语句(占位符)<?php/* 通过传递一个插入值的数组执行一条预处理语句 */$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?');$sth->execute(array($calories, $colour));?> $sql = 'select update_time from admin_session,admin where admin_session.sessid = ?';$stmt = $pdo->prepare($sql);$name = 'admin.sessid';try{ if(!$stmt->execute(array($name))) { throw new PDOException(111); };} catch(PDOException $e) { echo $e->getMessage();}这样还是不行 execute(array('admin_sessid'))的执行结果为false这就表示出错了,由于不是 php 的错,自然也就不会自动提示出来你可以打印出 errorInfo 的结果来查看 现在execute(array('admin_sessid'))已经不报错但是我想查找以下结果却失败[code=php]$sql = 'select update_time from admin_session,admin where admin_session.sessid=?';$stmt = $pdo->prepare($sql);$name = ‘admin.sessid’; $stmt->execute(array($name));$ress=$stmt->fetch(PDO::FETCH_ASSOC);[/code]但是查找别的数据,如以下查找update_time可以正确返回$sql = 'select update_time from admin_session where update_time <= ?';这又回到最开始的问题,我就是想通过两个表查找出一个数据,请问该怎么办 select update_time from admin_session,admin where admin_session.sessid=admin.sessid在mysql中可以查到数据$sql = 'select update_time from admin_session,admin where admin_session.sessid=?';$stmt = $pdo->prepare($sql);$name = 'admin.sessid'; $stmt->execute(array($name));这样却查找不到,为什么 绑定的是值,不是字段名至少得这样写$sql = 'select update_time from admin_session,admin where admin_session.sessid=admin.sessid and admin.sessid=?'; 左查询也有效,但是为什么就是以下查询找不到呢select update_time from admin_session,admin where admin_session.sessid=admin.sessid echo里的字体,怎么写属性? 请问哪些原因会造成PHP SESSION丢失? PHP开发环境搭建 请问一下php跨域登陆的问题 我检查了所有文件(php js htm模板)和数据库文件,也没有找到要修改的地方,请高手帮忙解决!!! 求高手帮我解决一逻辑问题? 用php向mysql写几十个字的数字,如何优化? SESSION问题! 各位大虾帮帮我,到底如何安装php+IIS? 怎样判断结果???? php升级到5.5后出现php扩展加载不全 求高人帮忙写几句简单的验证
Example #3 使用一个含有插入值的数组执行一条预处理语句(占位符)
<?php
/* 通过传递一个插入值的数组执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>
$stmt = $pdo->prepare($sql);
$name = 'admin.sessid';
try{
if(!$stmt->execute(array($name))) {
throw new PDOException(111);
};
} catch(PDOException $e) {
echo $e->getMessage();
}
这样还是不行
这就表示出错了,由于不是 php 的错,自然也就不会自动提示出来
你可以打印出 errorInfo 的结果来查看
但是我想查找以下结果却失败
[code=php
]$sql = 'select update_time from admin_session,admin where admin_session.sessid=?';
$stmt = $pdo->prepare($sql);$name = ‘admin.sessid’;
$stmt->execute(array($name));
$ress=$stmt->fetch(PDO::FETCH_ASSOC);
[/code]但是查找别的数据,如以下查找update_time可以正确返回
$sql = 'select update_time from admin_session where update_time <= ?';这又回到最开始的问题,我就是想通过两个表查找出一个数据,请问该怎么办
在mysql中可以查到数据$sql = 'select update_time from admin_session,admin where admin_session.sessid=?';
$stmt = $pdo->prepare($sql);
$name = 'admin.sessid';
$stmt->execute(array($name));
这样却查找不到,为什么
至少得这样写
$sql = 'select update_time from admin_session,admin where admin_session.sessid=admin.sessid and admin.sessid=?';
select update_time from admin_session,admin where admin_session.sessid=admin.sessid