| @@ 62-71 (lines=10) @@ | ||
| 59 | * |
|
| 60 | * @return mysqli_stmt |
|
| 61 | */ |
|
| 62 | public function prepare($query) |
|
| 63 | { |
|
| 64 | if (stripos($query, "SELECT") && stripos($query, "FOR UPDATE") === false && stripos($query, "INSERT") === false && $this->slave !== false) { |
|
| 65 | $this->lastused = $this->mysqliR; |
|
| 66 | return $this->mysqliR->prepare($query); |
|
| 67 | } else { |
|
| 68 | $this->lastused = $this->mysqliW; |
|
| 69 | return $this->mysqliW->prepare($query); |
|
| 70 | } |
|
| 71 | } |
|
| 72 | ||
| 73 | /* |
|
| 74 | * Override standard mysqli_query to select master/slave server |
|
| @@ 81-90 (lines=10) @@ | ||
| 78 | * @return boolean |
|
| 79 | * @return mixed |
|
| 80 | */ |
|
| 81 | public function query($query, $resultmode = MYSQLI_STORE_RESULT) |
|
| 82 | { |
|
| 83 | if (stripos($query, "SELECT") && stripos($query, "FOR UPDATE") === false && stripos($query, "INSERT") === false && $this->slave !== false) {/* Use readonly server */ |
|
| 84 | $this->lastused = $this->mysqliR; |
|
| 85 | return $this->mysqliR->query($query, $resultmode); |
|
| 86 | } else { |
|
| 87 | $this->lastused = $this->mysqliW; |
|
| 88 | return $this->mysqliW->query($query, $resultmode); |
|
| 89 | } |
|
| 90 | } |
|
| 91 | } |
|
| 92 | ||