Query/apiDocumentation/source/Drivers/Mysql/Driver.php.html

4 lines
16 KiB
HTML

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><title>phpDox - Source of Driver.php</title><link rel="stylesheet" type="text/css" href="../../../css/style.css" media="screen"/><link rel="stylesheet" href="../../../css/source.css"/><meta http-equiv="content-type" content="text/html; charset=utf-8"/></head><body><nav class="topnav"><ul><li><div class="logo"><span>/**</span>phpDox</div></li><li class="separator"><a href="../../../index.html">Overview</a></li><li class="separator"><a href="../../../namespaces.html">Namespaces</a></li><li><a href="../../../interfaces.html">Interfaces</a></li><li><a href="../../../classes.html">Classes</a></li><li class="separator"><a href="../../../source/index.html">Source</a></li></ul></nav><div id="mainstage"><div class="box"><ul class="breadcrumb"><li><a href="../../../index.html">Overview</a></li><li class="separator"><a href="../../../source/index.html">Source</a></li></ul></div><h1>Source of file Driver.php</h1><p>
Size: 1,399 Bytes - Last Modified: 2018-01-25T14:51:55+00:00</p><section><h2><small>src/Drivers/Mysql/</small>Driver.php</h2><table class="source"><tr><td class="no"><a class="anker" href="#line1">1</a><a class="anker" href="#line2">2</a><a class="anker" href="#line3">3</a><a class="anker" href="#line4">4</a><a class="anker" href="#line5">5</a><a class="anker" href="#line6">6</a><a class="anker" href="#line7">7</a><a class="anker" href="#line8">8</a><a class="anker" href="#line9">9</a><a class="anker" href="#line10">10</a><a class="anker" href="#line11">11</a><a class="anker" href="#line12">12</a><a class="anker" href="#line13">13</a><a class="anker" href="#line14">14</a><a class="anker" href="#line15">15</a><a class="anker" href="#line16">16</a><a class="anker" href="#line17">17</a><a class="anker" href="#line18">18</a><a class="anker" href="#line19">19</a><a class="anker" href="#line20">20</a><a class="anker" href="#line21">21</a><a class="anker" href="#line22">22</a><a class="anker" href="#line23">23</a><a class="anker" href="#line24">24</a><a class="anker" href="#line25">25</a><a class="anker" href="#line26">26</a><a class="anker" href="#line27">27</a><a class="anker" href="#line28">28</a><a class="anker" href="#line29">29</a><a class="anker" href="#line30">30</a><a class="anker" href="#line31">31</a><a class="anker" href="#line32">32</a><a class="anker" href="#line33">33</a><a class="anker" href="#line34">34</a><a class="anker" href="#line35">35</a><a class="anker" href="#line36">36</a><a class="anker" href="#line37">37</a><a class="anker" href="#line38">38</a><a class="anker" href="#line39">39</a><a class="anker" href="#line40">40</a><a class="anker" href="#line41">41</a><a class="anker" href="#line42">42</a><a class="anker" href="#line43">43</a><a class="anker" href="#line44">44</a><a class="anker" href="#line45">45</a><a class="anker" href="#line46">46</a><a class="anker" href="#line47">47</a><a class="anker" href="#line48">48</a><a class="anker" href="#line49">49</a><a class="anker" href="#line50">50</a><a class="anker" href="#line51">51</a><a class="anker" href="#line52">52</a><a class="anker" href="#line53">53</a><a class="anker" href="#line54">54</a><a class="anker" href="#line55">55</a><a class="anker" href="#line56">56</a><a class="anker" href="#line57">57</a><a class="anker" href="#line58">58</a><a class="anker" href="#line59">59</a><a class="anker" href="#line60">60</a><a class="anker" href="#line61">61</a><a class="anker" href="#line62">62</a><a class="anker" href="#line63">63</a><a class="anker" href="#line64">64</a><a class="anker" href="#line65">65</a></td><td class="line"><div id="line1"><pre><span class="token T_OPEN_TAG">&lt;?php </span><span class="token T_DECLARE">declare</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_STRING">strict_types</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_LNUMBER">1</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line2"><pre><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line3"><pre><span class="token T_DOC_COMMENT"> * Query</span></pre></div><div id="line4"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line5"><pre><span class="token T_DOC_COMMENT"> * SQL Query Builder / Database Abstraction Layer</span></pre></div><div id="line6"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line7"><pre><span class="token T_DOC_COMMENT"> * PHP version 7.1</span></pre></div><div id="line8"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line9"><pre><span class="token T_DOC_COMMENT"> * @package Query</span></pre></div><div id="line10"><pre><span class="token T_DOC_COMMENT"> * @author Timothy J. Warren &lt;tim@timshomepage.net&gt;</span></pre></div><div id="line11"><pre><span class="token T_DOC_COMMENT"> * @copyright 2012 - 2018 Timothy J. Warren</span></pre></div><div id="line12"><pre><span class="token T_DOC_COMMENT"> * @license http://www.opensource.org/licenses/mit-license.html MIT License</span></pre></div><div id="line13"><pre><span class="token T_DOC_COMMENT"> * @link https://git.timshomepage.net/aviat4ion/Query</span></pre></div><div id="line14"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line15"><pre><span class="token T_NAMESPACE">namespace</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">Query</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Drivers</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Mysql</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line16"><br/></div><div id="line17"><pre><span class="token T_USE">use</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">PDO</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line18"><pre><span class="token T_USE">use</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">Query</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Drivers</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">AbstractDriver</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line19"><br/></div><div id="line20"><pre><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line21"><pre><span class="token T_DOC_COMMENT"> * MySQL specific class</span></pre></div><div id="line22"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line23"><pre><span class="token T_CLASS">class</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">Driver</span><span class="token T_WHITESPACE"> </span><span class="token T_EXTENDS">extends</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">AbstractDriver</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line24"><br/></div><div id="line25"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line26"><pre><span class="token T_DOC_COMMENT"> * Set the backtick as the MySQL escape character</span></pre></div><div id="line27"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line28"><pre><span class="token T_DOC_COMMENT"> * @var string</span></pre></div><div id="line29"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line30"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PROTECTED">protected</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$escapeCharOpen</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'`'</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line31"><br/></div><div id="line32"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line33"><pre><span class="token T_DOC_COMMENT"> * Set the backtick as the MySQL escape character</span></pre></div><div id="line34"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line35"><pre><span class="token T_DOC_COMMENT"> * @var string</span></pre></div><div id="line36"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line37"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PROTECTED">protected</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$escapeCharClose</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'`'</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line38"><br/></div><div id="line39"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line40"><pre><span class="token T_DOC_COMMENT"> * Connect to MySQL Database</span></pre></div><div id="line41"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line42"><pre><span class="token T_DOC_COMMENT"> * @codeCoverageIgnore</span></pre></div><div id="line43"><pre><span class="token T_DOC_COMMENT"> * @param string $dsn</span></pre></div><div id="line44"><pre><span class="token T_DOC_COMMENT"> * @param string $username</span></pre></div><div id="line45"><pre><span class="token T_DOC_COMMENT"> * @param string $password</span></pre></div><div id="line46"><pre><span class="token T_DOC_COMMENT"> * @param array $options</span></pre></div><div id="line47"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line48"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PUBLIC">public</span><span class="token T_WHITESPACE"> </span><span class="token T_FUNCTION">function</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">__construct</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_STRING">string</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$dsn</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">string</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$username</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_STRING">NULL</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">string</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$password</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_STRING">NULL</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_ARRAY">array</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$options</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_PHPDOX_OPEN_SQUARE">[</span><span class="token T_PHPDOX_CLOSE_SQUARE">]</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line49"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line50"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Set the charset to UTF-8</span></pre></div><div id="line51"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">defined</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_CONSTANT_ENCAPSED_STRING">'\\PDO::MYSQL_ATTR_INIT_COMMAND'</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line52"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line53"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$options</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_merge</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$options</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_SQUARE">[</span></pre></div><div id="line54"><pre><span class="token T_WHITESPACE"> </span><span class="token T_STRING">PDO</span><span class="token T_DOUBLE_COLON">::</span><span class="token T_STRING">MYSQL_ATTR_INIT_COMMAND</span><span class="token T_WHITESPACE"> </span><span class="token T_DOUBLE_ARROW">=&gt;</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">"SET NAMES UTF-8 COLLATE 'UTF-8'"</span><span class="token T_PHPDOX_COMMA">,</span></pre></div><div id="line55"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_SQUARE">]</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line56"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line57"><br/></div><div id="line58"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_STRING">strpos</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$dsn</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'mysql'</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_WHITESPACE"> </span><span class="token T_IS_IDENTICAL">===</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">FALSE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line59"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line60"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$dsn</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'mysql:'</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_VARIABLE">$dsn</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line61"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line62"><br/></div><div id="line63"><pre><span class="token T_WHITESPACE"> </span><span class="token T_STRING">parent</span><span class="token T_DOUBLE_COLON">::</span><span class="token T_STRING">__construct</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$dsn</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$username</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$password</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$options</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line64"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line65"><pre><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div></td></tr></table></section></div><footer><span>Generated using phpDox 0.11.0-dev - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors</span></footer></body></html>