簡體   English   中英

使用PHP插入表中並准備好語句以獲取響應代碼500

[英]Insert into table using PHP and prepared statement getting response code 500

我正在嘗試使用以下PHP代碼向表中插入一行:

$sql = "INSERT INTO `user_sessions`(`email`, `ip_address`, `location`, `lat`, `lng`, `device_type`, `device_imei`, `login_date`, `login_time`, `active`) VALUES (?,?,?,?,?,?,?,?,?,?);";

                $stmt2 = mysqli_stmt_init($con);

                if(!mysqli_stmt_prepare($stmt2, $sql)){
                    $data['result'] = "SQL error";
                    echo json_encode($data);
                    exit();
                } else {

                    mysqli_stmt_bind_param($stmt2, "sssddsssss", $email, $ip, $city, $lat, $lng, $user_device, $user_device_imei, $user_date, $user_time, "1");

                    mysqli_stmt_execute($stmt2);


                    $data['result'] = "login success";
                    $data['user_id'] = $row['user_id'];
                    echo json_encode($data);
                    exit();
                }

我不斷收到響應代碼500,這是根據我的研究得出的服務器內部錯誤

  • 我正在使用遠程服務器。
  • 這只是我的login.php腳本的一小部分,當注釋掉此部分時,它可以很好地工作。
  • $ lat和$ lng是浮點數,在我的數據庫中具有float(23,19)的類型。

有什么建議么?

問題在第11行:

mysqli_stmt_bind_param($stmt2, "sssddsssss", $email, $ip, $city, $lat, $lng, $user_device, $user_device_imei, $user_date, $user_time, "1");

最后一個參數是“ 1”,但是mysqli_stmt_bimd_param()僅接受變量作為參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM