douyong8801 2017-09-08 02:39
浏览 126
已采纳

“警告:mysqli_stmt_bind_param()要求参数1为mysqli_stmt,布尔值在”

I'm getting these warnings from web host which contains my database. I'm trying to get an android app developed in Android studio to send data from a Register user activity to a database. I think I'm having a PHP Script error..

Below is my PHP code for registering user:

<?php
$con = mysqli_connect("localhost", "user", "pass", "db");

if (isset($_POST["name"], $_POST["email"], $_POST["username"], $_POST["password"])) 
{
$name =     $_POST["name"];
$email =    $_POST["email"];
$username = $_POST["username"];
$password = $_POST["password"];
}

$statement = mysqli_prepare($con, "INSERT INTO user (name, username, email, password) VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "siss", $name, $username, $email, $password);
mysqli_stmt_execute($statement);

$response = array();
$response["success"] = true;  

echo json_encode($response);
?>

The Register request URL used in android studio..

Android Logcat result during the error

  • 写回答

1条回答 默认 最新

  • douxiong3234 2017-09-08 02:49
    关注

    You have check for errors:-

    <?php
        //comment these two lines when code started working fine
        error_reporting(E_ALL);
        ini_set('display_errors',1);
    
        $con = mysqli_connect("localhost", "id2833909_split421", "pass123", "id2833909_splitw");
    
        /* check connection */
        if (mysqli_connect_errno()) {
            printf("Connect failed: %s
    ", mysqli_connect_error());
            exit();
        }
    
        if (isset($_POST["name"], $_POST["email"], $_POST["username"], $_POST["password"])) {
            $name =     $_POST["name"];
            $email =    $_POST["email"];
            $username = $_POST["username"];
            $password = $_POST["password"];
            $statement = mysqli_prepare($con, "INSERT INTO `user` (`name`, `username`, `email`, `password`) VALUES (?, ?, ?, ?)");
            mysqli_stmt_bind_param($statement, "ssss", $name, $username, $email, $password); // i need to be s
            $response = array();
            if(mysqli_stmt_execute($statement)){
                $response["message"] = "success";  
            }else{
                $response["message"] = "error";  
            }
            echo json_encode($response);
        }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同