PluginProbe
ManageWP Worker / 4.9.37
ManageWP Worker v4.9.37
4.9.38 4.9.37 4.9.36 4.9.35 4.9.34 3.8.7 3.8.8 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.22 3.9.23 3.9.24 All 73 releases
worker / src / MWP / IncrementalBackup / Database / MysqliConnection.php

MysqliConnection.php in ManageWP Worker 4.9.37, at src/MWP/IncrementalBackup/Database/MysqliConnection.php

66 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * This file is part of the ManageWP Worker plugin.
4 *
5 * (c) ManageWP LLC <[email protected]>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 class MWP_IncrementalBackup_Database_MysqliConnection implements MWP_IncrementalBackup_Database_ConnectionInterface
12 {
13
14 /**
15 * @var MWP_IncrementalBackup_Database_Configuration
16 */
17 private $configuration;
18
19 /**
20 * @var mysqli
21 */
22 private $connection;
23
24 public function __construct(MWP_IncrementalBackup_Database_Configuration $configuration)
25 {
26 $this->configuration = $configuration;
27
28 if (!extension_loaded('mysqli')) {
29 throw new MWP_IncrementalBackup_Database_Exception_ConnectionException("Mysqli extension is not enabled.");
30 }
31
32 // Silence possible warnings thrown by mysqli
33 // e.g. Warning: mysqli::mysqli(): Headers and client library minor version mismatch. Headers:50540 Library:50623
34 /** @handled class */
35 $this->connection = @new mysqli($configuration->getHost(), $configuration->getUsername(), $configuration->getPassword(), $configuration->getDatabase(), $configuration->getPort());
36
37 if ($this->connection === null || !$this->connection->ping()) {
38 throw new MWP_IncrementalBackup_Database_Exception_ConnectionException();
39 }
40
41 $this->connection->set_charset($configuration->getCharset());
42 }
43
44 /**
45 * {@inheritdoc}
46 */
47 public function query($query, $useResult = false)
48 {
49 $result = $this->connection->query($query, $useResult ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT);
50
51 if ($result === false) {
52 throw new MWP_IncrementalBackup_Database_Exception_ConnectionException($this->connection->error, $this->connection->errno);
53 }
54
55 return new MWP_IncrementalBackup_Database_MysqliStatement($result);
56 }
57
58 /**
59 * {@inheritdoc}
60 */
61 public function quote($value)
62 {
63 return "'".$this->connection->real_escape_string($value)."'";
64 }
65 }
66