账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php预处理语句的get_result()有版本差异吗?
    46
    0

    问题已解决,谁tm能想到,竟然是字符编码问题,忘记设置字符编码,赋值遇到异常编码时,可能造成了内存泄露,具体可看我知乎上的自答。感谢各位的帮助和建议!

    我在phpsdudy上用的是5.4.5,正常运行,切换到5.5.385.3.29都歇菜,上传到我的阿里云虚拟主机上,不管怎么设置版本,没卵用。直接报500,查BUG都不知道从哪下手。

    经过我的二分法删代码大法,我发现,bug就是在一个预处理语句上:

    $sql = "select * from `$table_a` where `title` like ? or `content` like ? $order_sql limit " . $pageSize * ($currentPage - 1) . ", $pageSize";
    $stmt = $mysqli -> prepare($sql);
    $temp = "'%$searchContent%'";
    $stmt -> bind_param('ss', $temp, $temp);
    $stmt -> execute();
    $result = $stmt -> get_result();  // 就是这句!!!按我的理解,他就算数据库里没找到东西,顶天给我个error,不能500吧?

    删掉这句,一切ok,加上就报500,路过大神帮忙看看呗。

    (因为阿里云虚拟主机上只有5.2-5.54个版本,我就选了个中间的,就是怕版本不兼容,谁知道。。。)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 烤肉火锅 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部