加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – PDO fetch什么都不返回

发布时间:2021-08-28 03:48:20 所属栏目:大数据 来源: https://www.jb51.cc
导读:参见英文答案 PHP PDOException: “SQLSTATE[HY093]: Invalid parameter number”????????????????????????????????????4个 我遇到了一个小问题. 我有以下代码: $query = $db-prepare('(SELECT last_visit, last_ip FROM user_log WHERE user_id = :id) UNI

参见英文答案 > PHP PDOException: “SQLSTATE[HY093]: Invalid parameter number”????????????????????????????????????4个
我遇到了一个小问题.
我有以下代码:

    $query = $db->prepare('(SELECT last_visit, last_ip FROM user_log WHERE user_id = :id) 
                            UNION
                           (SELECT time AS last_visit, packet_hex AS last_ip FROM crack_log WHERE target_id = :id)
                            ORDER BY last_visit DESC LIMIT 0,10;');
    $query->execute(array(':id'=> $_SESSION['id']));
    $log = $query->fetchAll(PDO::FETCH_ASSOC); //Last visit/IP

    var_dump($log);

哪个回报:

array(0) { } 

我在PHPmyadmin尝试了查询,它工作正常.你能帮我找到错误吗?

解决方法:

Accorrding to the documentation

You cannot use a named parameter marker of the same name twice in a
prepared statement.
You cannot bind multiple values to a single named parameter in, for
example, the IN() clause of an sql statement.

在你的情况下,你应该使用类似的东西

$query = $db->prepare('(SELECT last_visit, 
                               last_ip 
                        FROM user_log 
                        WHERE user_id = :id_1
                       ) 
                        UNION
                       (SELECT time AS last_visit,
                               packet_hex AS last_ip 
                        FROM crack_log 
                        WHERE target_id = :id_2
                       )
                       ORDER BY last_visit DESC LIMIT 0,10;'
                     );
    $query->execute(array(':id_1'=> $_SESSION['id'],
                          ':id_2'=> $_SESSION['id'] 
                         )
                   );  

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读