【问题标题】:invalid object or resource mysqli_stmt errors [duplicate]无效的对象或资源mysqli_stmt错误[重复]
【发布时间】:2019-03-16 16:30:10
【问题描述】:

我正在尝试获取每台机器的 IP 地址并插入我网站上的数据库,但由于某种原因出现以下错误:

Warning: mysqli_stmt_bind_param(): invalid object or resource mysqli_stmt...

Warning: mysqli_stmt_execute(): invalid object or resource mysqli_stmt...

Warning: mysqli_stmt_store_result(): invalid object or resource mysqli_stmt...

Warning: mysqli_stmt_num_rows(): invalid object or resource mysqli_stmt...

Warning: mysqli_stmt_execute(): invalid object or resource mysqli_stmt in..

警告:mysqli_stmt_execute():无效的对象或资源 mysqli_stmt in...

这是我的代码:

<?php
$deviceip=$_SERVER['REMOTE_ADDR'];
//check if ip is already in database
if(isset($deviceip)){
    $sql = "SELECT * FROM users WHERE deviceip=?";
    $resstmt = mysqli_stmt_init($db);
    mysqli_stmt_bind_param($resstmt,"s",$deviceip);
    mysqli_stmt_execute($resstmt);
    //did we get a match?
    mysqli_stmt_store_result($resstmt);
    $resultCheck = mysqli_stmt_num_rows($resstmt);
    if($resultCheck ==0){
        $sql = "INSERT INTO deviceips(deviceip) VALUES (?)";
        $resstmt = mysqli_stmt_init($db);
        mysqli_stmt_prepare($resstmt,$sql);
        mysqli_stmt_bind_param($resstmt,"s",$deviceip);;
        mysqli_stmt_execute($resstmt);
    }
}?>

【问题讨论】:

标签: php mysql sql


【解决方案1】:

由于您遇到如此多的错误,我想没有与数据库的连接。如果您已经发布了所有代码,那么您可能错过了建立连接。 在查询之前尝试这些行:

$db = mysqli_connect(SERVER_DNS_OR_IP, DATABASE_USER, USER_PASSWORD, DATABASE_NAME); if(mysqli_connect_errno()) { ... do some error handling... }

将大写的数据替换为您自己的数据库数据。

【讨论】:

  • 连接很好,但有多个准备好的语句是个问题。
猜你喜欢
  • 1970-01-01
  • 2020-09-29
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 2022-12-02
  • 2018-01-23
相关资源
最近更新 更多