準備済みステートメントの実行中に以下のエラーが発生します
(2013) queryexception 中に MySQL サーバーへの接続が失わ
れました 投稿する前に、このトピックに投稿されたほとんどすべての質問を確認しましたが、答えが見つかりませんでした。閉じないでください。
私はPHPとMYSQLを初めて使用するので、
MYコードを間違えた場合は修正してください:-
<?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) }
誰か助けてくれませんか?