Я получаю ошибку ниже при выполнении подготовленное заявлениеПодключение к серверу MySQL во время исключения запроса
(2013) Потеряно соединение с сервером MySQL во время queryexception
Я проверил почти все вопросы размещены на этом перед публикацией, но не смог найти ответ. поэтому, пожалуйста, не закрывайте.
Я новичок в PHP и MYSQL так, пожалуйста, поправьте, если я сделал какую-либо ошибку
мой код: -
<?php
class sanitize_insert{
protected $prepared_stmt;
protected $db_sqli;
public function prepare_sanitized_insert($created_by)
{
if(!is_integer($created_by))
{
throw new InvalidArgException("Invalid argument(s) type. Expected integer(s)"); //to be defined
}
$query = "insert into requests_v(user_id,property_id,request_type,description,to_user_id,created_on,last_update_date,created_by,last_updated_by) values (?,?,?,?,?,now(),now(),8,8);";
if(!is_resource($this->db_sqli))
{
$this->db_sqli = mysqli_connect('host','user','password','dbname');
}
if(!$this->prepared_stmt = $this->dbh->prepare($query))
{
return false;
}
$this->prepared_stmt->bind_param('iiisi', $user_id, $property_id, $req_type, $desc,$to_id);
//$result = $this->db_sqli->execute($this->prepared_stmt);
return true;
}
public function execute_insert()
{
if(!is_object($this->prepared_stmt))
{
return false;
}
if(!is_resource($this->db_sqli))
{
$this->db_sqli = mysqli_connect('host','user','password','dbname');
}
$result = $this->prepared_stmt->execute();
return $result;
}
}
Когда я исполняю подготовленное заявление внутри метода «prepare_sanitized_insert», он получает выполняется без ошибок, но когда я исполню ее внутри метода «execute_insert» он терпит неудачу с ошибкой: -
(2013) Затерянный подключение к серверу MySQL во время запроса
var_dump подготовленного оператора перед выполнением
объект (mysqli_stmt) # 4 (10) {["affected_rows"] => int (0) ["insert_id"] => int (0) ["num_rows "] => int (0) [" param_count "] => int (5) [" field_count "] => int (0) [" errno "] => int (2013) [" error "] => string (44) «Потерянное соединение с сервером MySQL во время запроса» ["error_list"] => array (1) {[0] => array (3) {["errno"] => int (2013) ["sqlstate"] => string (5) "HY000" ["error"] => string (44) «Потерянное подключение к серверу MySQL во время запроса»}} ["sqlstate"] => string (5) "HY000" ["id"] => int (1)}
Не могли бы вы помочь?
ли казнить вы 'prepare_sanitized_insert()' перед 'execute_insert()'? – 01e
Да, я выполнил prepare_sanitized_insert() до execute_insert(). –
Почему вы используете 'mysqli_connect' для назначения db_sqli в' prepare_sanitized_insert() 'и' db_factory :: get_db_sqli() 'в' execute_insert() '? Можете ли вы log/echo в инструкции if, чтобы узнать, пытается ли переназначить переменную? – aynber