SimplePDOStatement::fetchQueryStrings()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
namespace SimplePDO;
3
4
class SimplePDOStatement
5
{
6
    /**
7
     * Queries.
8
     *
9
     * @var array
10
     */
11
    private $queries = [];
12
    
13
    /**
14
     * Parameter bindings..
15
     *
16
     * @var array
17
     */
18
    private $bindings = [];
19
    
20
    /**
21
     * Index..
22
     *
23
     * @var int
24
     */
25
    private $index = 0;
26
    
27
    /**
28
     * Returns an array containing all of the result set rows.
29
     *
30
     * @return array
31
     */
32
    final public function fetchAll()
33
	{
34
		return $this->stmt->fetchAll();
35
	}
36
    
37
    /**
38
     * Fetches the next row from a result set.
39
     *
40
     * @param  int    $fetch_style controls the contents of the returned array
41
     * @return mixed
42
     */
43
    final public function fetch()
44
	{
45
		return $this->stmt->fetch();
46
	}
47
48
    /**
49
     * Returns a single column from the next row of a result set.
50
     *
51
     * @param  int    $column 0-indexed number of the column you wish to retrieve from the row
52
     * @return mixed
53
     */
54
    final public function fetchColumn($column = 0)
55
	{
56
		return $this->stmt->fetchColumn($column);
57
	}
58
    
59
    /**
60
     * Fetch extended error information associated 
61
     * with the last operation on the statement handle. 
62
     *
63
     * @return mixed
64
     */
65
    final public function errorInfo()
66
	{
67
		return $this->stmt->errorInfo();
68
	}
69
70
    /**
71
     * Store all query strings for session.
72
     *
73
     * @return object
74
     */
75
    final public function queryStrings($statement)
76
    {
77
        $this->queries[] = ['sql' => preg_replace("/[\s+]+/", " ", $statement)];
78
        if (count($this->queries) == 1)
79
        {
80
            $this->index = 0;
81
        }
82
        else
83
        {
84
            $this->index++;
85
        }
86
    }
87
88
    /**
89
     * Store all query parameters for session.
90
     *
91
     * @return object
92
     */
93
    final public function queryParams($parameter, $variable, $data_type)
94
    {
95
        $this->bindings[$this->index]["params"][] = ["param_name" => $parameter, "param_value" => $variable, "param_type" => $data_type];
96
    }
97
98
    /**
99
     * Fetch query strings/params for session.
100
     *
101
     * @return string
102
     */
103
    final public function fetchQueryStrings()
104
    {
105
        return json_encode(\SimplePDO\array_merge_recursive_numeric($this->queries, $this->bindings));
106
    }
107
108
}
109