【问题标题】:Mysqli update won't workmysqli更新不起作用
【发布时间】:2015-12-22 00:24:09
【问题描述】:

具体一点 - 我想在登录处理方面对 cookie 进行操作,因此我将 cookie“session_token”设置为 openssl_random_pseudo_bytes。

setcookie( "session_token", bin2hex( openssl_random_pseudo_bytes( 32 ) ), time() + 600 );

但是,我希望它是更新数据库中“令牌”的值。 但是,我得到的是空的数据库字段,生成的令牌应该在哪里。

代码:

$flogin 是传递给登录函数的 post 数据。

$conn->query( "UPDATE Client SET token='" .$_COOKIE['session_token']. "' WHERE login='" .$flogin. "'" );

Cookie 长度为 64 个字符,数据库中的“令牌”字段也是如此。

我做错了什么?

【问题讨论】:

  • 您应该使用参数化查询。您目前有任何错误吗?
  • 你是否在同一个脚本/请求上设置 cookie 和更新表?
  • 我要说的是“检查错误”并确保列的长度足够长。
  • @chris85 感谢您对参数化查询的建议。在建立数据库连接时,我没有收到任何查询错误。
  • 如果您回显查询并在数据库上执行它,它是否按预期工作?

标签: php cookies mysqli login insert


【解决方案1】:

LifeParser 写道:

INSERT 声明就像一个魅力。

我喜欢自我回答。不幸的是,他在问题中写了它,所以我把它移到了这里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2018-09-04
    • 2015-01-05
    • 1970-01-01
    相关资源
    最近更新 更多