Skip to content

Commit dd64e03

Browse files
committed
Migrate over from a raw pdo to a db abstraction layer
1 parent e01ee60 commit dd64e03

21 files changed

+2827
-75
lines changed

buildDocJs.php

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
$cnt = 0;
66

77
try {
8-
$query = $dbh->prepare('SELECT COUNT(0) FROM mysql.help_topic');
9-
$query->execute();
10-
list($cnt) = $query->fetch(PDO::FETCH_NUM);
11-
unset($query);
8+
$cnt = Database::find('review')->query_col('SELECT COUNT(0) FROM mysql.help_topic');
129
}
1310
catch (exception $e) {}
1411

@@ -23,10 +20,8 @@
2320

2421
$fp = fopen('js/docData.js', 'w+');
2522
fputs($fp, "var help_topic = {\n");
26-
27-
$query = $dbh->prepare("SELECT LOWER(name), url FROM mysql.help_topic WHERE name NOT LIKE '% %' AND LENGTH(url) > 0");
28-
$query->execute();
29-
while ($row = $query->fetch(PDO::FETCH_NUM)) {
23+
$res = Database::find('review')->query("SELECT LOWER(name), url FROM mysql.help_topic WHERE name NOT LIKE '% %' AND LENGTH(url) > 0");
24+
while ($row = $res->fetch_row()) {
3025
list($name, $url) = $row;
3126
fputs($fp, " '{$name}' : '{$url}', \n");
3227
}

explain.php

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@
44
require_once('init.php');
55

66
$return = array();
7-
8-
$query = $dbh->prepare('SELECT review.sample
9-
FROM '.$reviewhost['review_table'].' AS review
10-
WHERE review.checksum = ?
11-
GROUP BY review.checksum
12-
');
13-
$query->execute(array($_REQUEST['checksum']));
14-
$reviewData = $query->fetch(PDO::FETCH_ASSOC);
157

16-
$Query = new QueryRewrite($reviewData['sample']);
8+
$query = Database::find('review')->query_col('SELECT review.sample
9+
FROM '.Database::escapeField($reviewhost['review_table']).' AS review
10+
WHERE review.checksum = ?
11+
GROUP BY review.checksum',
12+
$_REQUEST['checksum']
13+
);
14+
15+
$Query = new QueryRewrite($query);
1716
$sample = $Query->asExtendedExplain();
1817

1918
if (is_null($sample)) {
@@ -22,14 +21,14 @@
2221
else {
2322
list($label, $database) = explode('.', $_REQUEST['explainDb']);
2423
$host = $explainhosts[$label];
25-
$ebh = new PDO($host['dsn'], $host['user'], $host['password']);
26-
27-
$query = $ebh->prepare("USE $database");
28-
$query->execute();
24+
Database::connect(null, $host['user'], $host['password'], null, null, 'pdo', array('dsn' => $host['dsn']), $label);
25+
Database::find($label)->query('USE '.Database::escapeField($database));
2926

30-
$query = $ebh->prepare($sample);
31-
$query->execute();
32-
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
27+
Database::find($label)->disable_fatal_errors();
28+
$query = Database::find($label)->query($sample);
29+
Database::find($label)->enable_fatal_errors();
30+
31+
while ($row = $query->fetch_assoc()) {
3332
$row['possible_keys'] = str_replace(',', ', ', $row['possible_keys']);
3433
$row['ref'] = str_replace(',', ', ', $row['ref']);
3534
$row['Extra'] = str_replace(array('Using ', ';'), array('', ', '), $row['Extra']);
@@ -41,16 +40,13 @@
4140

4241
$return['Explain'][] = $row;
4342
}
44-
$query->closeCursor();
45-
$query = $ebh->prepare('SHOW WARNINGS');
46-
$query->execute();
47-
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
43+
$query = Database::find($label)->query('SHOW WARNINGS');
44+
while ($row = $query->fetch_assoc()) {
4845
if ($row['Code'] == 1003)
4946
$return['Query'] = str_replace(',', ', ', $row['Message']);
5047
else
5148
$return['Warnings'][] = $row;
5249
}
53-
$query->closeCursor();
5450

5551
if (array_key_exists('Query', $return)) {
5652
$return['Query'] = preg_replace("/`([-_a-zA-Z0-9]+)`\.`([-_a-zA-Z0-9]+)`\.`([-_a-zA-Z0-9]+)`/U",

index.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
<?php
22
require_once('init.php');
33

4-
5-
$users = $dbh->query('SELECT DISTINCT IFNULL(reviewed_by, "") FROM '.$reviewhost['review_table']);
4+
$users = Database::find('review')->query('SELECT DISTINCT IFNULL(reviewed_by, "") FROM '.Database::escapeField($reviewhost['review_table']));
65
$Reviewers = "[ 'None' ";
7-
while($user = $users->fetchColumn())
6+
while($user = $users->fetch_col())
87
$Reviewers .= ",'$user' ";
98
$Reviewers .= " ]";
109
unset($users);
1110

12-
1311
require_once('templates/header.php');
1412
?>
1513

init.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
$settings['sqlColor'] = true;
66

77
require_once('config.php');
8+
require_once('libs/Database/Database.php');
9+
Database::connect(null, $reviewhost['user'], $reviewhost['password'], null, null, 'pdo', array('dsn' => $reviewhost['dsn']), 'review');
810

11+
// Needed for SqlParser
912
$dbh = new PDO($reviewhost['dsn'], $reviewhost['user'], $reviewhost['password']);
1013

1114
require_once('libs/sqlquery/SqlParser.php');

0 commit comments

Comments
 (0)