簡體   English   中英

致命錯誤:在非對象錯誤上調用成員函數prepare()

[英]Fatal error: Call to a member function prepare() on a non-object ERROR

我在准備好的語句中遇到問題,即時通訊試圖阻止數據庫中的sql注入,因此我嘗試應用准備好的語句,但我認為即時通訊有問題

這是collector_db.php

<?php
require 'connection.php';

$username = $_POST["username"];
$password = $_POST["password"];
$repassword = $_POST["repassword"];
$email = $_POST["email"];
$surname = $_POST["surname"];
$fname = $_POST["fname"];
$mname = $_POST["mname"];

if($password == $repassword){
    global $dbConnection;
    $mysql_qry = $dbConnection->prepare("insert into  account_info(surname,firsname,middlename,username,pass,email) VALUES (?,?,?,?,?,?);");
    $mysql_qry- >bind_param('ssssss','$surname,$fname,$mname,$username,$password,$email');

    $mysql_qry->execute();

    if ($connect->query($mysql_qry)=== TRUE){
        echo "<script language='javascript'>";
        echo "alert('Registration Success');";
        echo "window.close();";
        echo "</script>";
        $mysql_qry->close();
        $conn->close();
    }
    else{
        echo "REGISTRATION failed".$mysql_qry."<br>". $connect->error;
        echo "<script language='javascript'>";
        echo "alert('Registration Failed');";
        echo "</script>";
    }
}
elseif($password != $repassword){
    echo 'Password doesnt Match';
}
elseif($username == "" || $password == "" || $email == "" || $surname ==     "" || $fname == "" || $mname == "" || $repassword == ""){
    echo "<script language='javascript'>";
    echo "alert('Some of the Textfields is null');";
    echo "</script>";
}
else {
    echo "<script language='javascript'>";
    echo "alert('Error');";
    echo "</script>";
}

?>

謝謝您的幫助 :)

$mysql_qry->之間的空間,並在if ($connect->query($mysql_qry)=== TRUE){$connect在代碼中未定義的情況下執行兩次if ($connect->query($mysql_qry)=== TRUE){

只需執行一次

$mysql_qry = $dbConnection->prepare("insert into  account_info(surname,firsname,middlename,username,pass,email) VALUES (?,?,?,?,?,?);");
$mysql_qry->bind_param('ssssss', $surname,$fname,$mname,$username,$password,$email);// remove quotes form here

if ($mysql_qry->execute()) {
    echo "<script language='javascript'>";
    echo "alert('Registration Success');";
    echo "window.close();";
    echo "</script>";
    $mysql_qry->close();
}

if ($connect->query($mysql_qry)=== TRUE){...

暫無
暫無

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

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