【问题标题】:MySQLI Insert not working not inserting blocked IPMySQLI插入不起作用没有插入被阻止的IP
【发布时间】:2015-07-07 20:02:30
【问题描述】:

我有这段代码可以插入新的登录尝试,所以当人们失败 7 次时,他们就会被阻止。问题是,当 IP 未在 DB 中列出时尝试插入时,它只是没有插入,我不明白为什么。代码如下:

    session_start();
    $blocked = mysqli_query($db, "
SELECT * FROM `blocked` WHERE `ip` = '" . $_SERVER["REMOTE_ADDR"] . "' LIMIT 1");
    if (mysqli_num_rows($blocked)==0){
    $insert = mysqli_query($db, "
INSERT INTO `blocked` VALUES ('', '" . $_SERVER["REMOTE_ADDR"] . "', '1')");
    }

我收到错误

警告:mysqli_query() 期望参数 1 为 mysqli,在中给出 null

【问题讨论】:

  • $database != $db vars 不仅区分大小写,而且对完全不同也很敏感。
  • 对不起,我忘记了,但编辑了,现在都是 $db,同样的问题
  • 查看错误以及它告诉您的内容。 mysqli_query的参数1是$db。所以$db 为空,而不是 mysqli_query() 所期望的。由于您没有说明$db 的来源,我们无法真正帮助您。
  • 另外,在发布您的 $db = mysqli_connect(); 代码时,请勿泄露您的数据库凭据
  • @MonkeyZeus 从中获得乐趣的方式......

标签: php mysql database mysqli insert


【解决方案1】:

如果$db 在其他地方定义,它可能不可用。

有一些方法可以让变量在不同的范围内移动,否则只需在此脚本的顶部再次连接 $db = connect(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2013-02-24
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多