Mysqli Prepare Statement - 返回 False,但为什么?
2022-08-30 17:27:48
						我有一个函数,它基于要插入到该列中的列名和值的关联数组以及表名(简单字符串)生成准备好的 INSERT 语句:
function insert ($param, $table) {
        $sqlString = "INSERT INTO $table (".implode(', ',array_keys($param)).') VALUES ('.str_repeat('?, ', (count($param) - 1)).'?)';
        if ($statement = $this->conn->prepare($sqlString)):
            $parameters = array_merge(array($this->bindParams($param), $param));
            call_user_func_array(array($statement, 'bind_param', $parameters));
            if (!$statement->execute()):
                die('Error! '.$statement->error());
            endif;
            $statement->close();
            return true;
        else:
            die("Could Not Run Statement");
        endif;
    }
我的问题是$this->conn->prepare(它是类的一部分,conn是一个新的mysqli对象,它没有问题)返回false,但没有给我一个理由!
下面是为 prepare 语句构建的示例$sqlString:
INSERT INTO students (PhoneNumber, FirstName, MiddleInit, LastName, Email, Password, SignupType, Active, SignupDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
任何人都可以看到此参数化语句的问题吗?准备函数返回 false 的原因是什么?
 
					 
				 
				    		 
				    		 
				    		