Я изо всех сил пытаюсь сделать форму перехода процедурным к объектно-ориентированному стилю, поэтому, если мой код неопрятен или имеет недостатки, пожалуйста, будьте любезны - здесь я передаю пару сообщений через jQuery классу, чтобы обновить запись, когда пользовательустанавливает флажок:
Вот соединение с базой данных
class db {
private $host ;
private $username;
private $password;
private $dbname;
protected function conn()
{
$this->host = "localhost";
$this->username = "root";
$this->password = "";
$this->dbname = "mytest";
$db = new mysqli($this->host, $this->username, $this->password, $this->dbname);
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
return $db;
}
}
Вот класс обновления
class updOrders extends db {
public $pid;
public $proc;
public function __construct()
{
$this->pid = isset($_POST['pid']) ? $_POST['pid'] : 0;
$this->proc = isset($_POST['proc']) ? $_POST['proc'] : 1;
// $stmt = $this->conn()->query("UPDATE tblorderhdr SET completed = ".$this->proc." WHERE orderid = ".$this->pid);
$stmt = $this->conn()->prepare("UPDATE tblorderhdr SET completed = ? WHERE orderid = ?");
$stmt->bind_param('ii', $this->proc, $this->pid);
$stmt->execute();
if($stmt->error)
{
$err = $stmt->error ;
} else {
$err = 'ok';
}
/* close statement */
$stmt->close();
echo json_encode($err);
}
}
$test = new updOrders;
Когда я закомментирую оператор подготовки и выполню запрос напрямую(закомментировано) он обновляется, когда я пытаюсь выполнить его как оператор подготовки, он возвращает ошибку «Сервер MySQL ушел».
Любая помощь очень ценится, у меня закончились идеи!
PS: Apache / XAMPP на локальном хосте