李金享 發表於 2023-5-21 00:00:00

ecshop适应在PHP7的修改方法解决报错的实现

<p>
ecshop这个系统,到目前也没见怎么推出新版本,如果是新项目,不太建议使用它。不过,因为我一直以来都在使用中,所以不得不更改让其适应PHP新版本。现在PHP 7已经出发行版了,所以更改来继续使用吧。具体的更改有以下方面:</p>
<p>
<span><strong>(1)将mysql扩展的使用替换掉,改为使用mysqli或pdo:</strong></span></p>
<p>
从php5.5开始,mysql扩展将废弃了。</p>
<p>
具体更改的文件在于includes/cls_mysql.php。这是个不小的工程,文件代码太长……</p>
<div>
<div>
<div id="highlighter_12450">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
<div>
10</div>
<div>
11</div>
<div>
12</div>
<div>
13</div>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
<div>
18</div>
<div>
19</div>
<div>
20</div>
<div>
21</div>
<div>
22</div>
<div>
23</div>
<div>
24</div>
<div>
25</div>
<div>
26</div>
<div>
27</div>
<div>
28</div>
<div>
29</div>
<div>
30</div>
<div>
31</div>
<div>
32</div>
<div>
33</div>
<div>
34</div>
<div>
35</div>
<div>
36</div>
<div>
37</div>
<div>
38</div>
<div>
39</div>
<div>
40</div>
<div>
41</div>
<div>
42</div>
<div>
43</div>
<div>
44</div>
<div>
45</div>
<div>
46</div>
<div>
47</div>
<div>
48</div>
<div>
49</div>
<div>
50</div>
<div>
51</div>
<div>
52</div>
<div>
53</div>
<div>
54</div>
<div>
55</div>
<div>
56</div>
<div>
57</div>
<div>
58</div>
<div>
59</div>
<div>
60</div>
<div>
61</div>
<div>
62</div>
<div>
63</div>
<div>
64</div>
<div>
65</div>
<div>
66</div>
<div>
67</div>
<div>
68</div>
<div>
69</div>
<div>
70</div>
<div>
71</div>
<div>
72</div>
<div>
73</div>
<div>
74</div>
<div>
75</div>
<div>
76</div>
<div>
77</div>
<div>
78</div>
<div>
79</div>
<div>
80</div>
<div>
81</div>
<div>
82</div>
<div>
83</div>
<div>
84</div>
<div>
85</div>
<div>
86</div>
<div>
87</div>
<div>
88</div>
<div>
89</div>
<div>
90</div>
<div>
91</div>
<div>
92</div>
<div>
93</div>
<div>
94</div>
<div>
95</div>
<div>
96</div>
<div>
97</div>
<div>
98</div>
<div>
99</div>
<div>
100</div>
<div>
101</div>
<div>
102</div>
<div>
103</div>
<div>
104</div>
<div>
105</div>
<div>
106</div>
<div>
107</div>
<div>
108</div>
<div>
109</div>
<div>
110</div>
<div>
111</div>
<div>
112</div>
<div>
113</div>
<div>
114</div>
<div>
115</div>
<div>
116</div>
<div>
117</div>
<div>
118</div>
<div>
119</div>
<div>
120</div>
<div>
121</div>
<div>
122</div>
<div>
123</div>
<div>
124</div>
<div>
125</div>
<div>
126</div>
<div>
127</div>
<div>
128</div>
<div>
129</div>
<div>
130</div>
<div>
131</div>
<div>
132</div>
<div>
133</div>
<div>
134</div>
<div>
135</div>
<div>
136</div>
<div>
137</div>
<div>
138</div>
<div>
139</div>
<div>
140</div>
<div>
141</div>
<div>
142</div>
<div>
143</div>
<div>
144</div>
<div>
145</div>
<div>
146</div>
<div>
147</div>
<div>
148</div>
<div>
149</div>
<div>
150</div>
<div>
151</div>
<div>
152</div>
<div>
153</div>
<div>
154</div>
<div>
155</div>
<div>
156</div>
<div>
157</div>
<div>
158</div>
<div>
159</div>
<div>
160</div>
<div>
161</div>
<div>
162</div>
<div>
163</div>
<div>
164</div>
<div>
165</div>
<div>
166</div>
<div>
167</div>
<div>
168</div>
<div>
169</div>
<div>
170</div>
<div>
171</div>
<div>
172</div>
<div>
173</div>
<div>
174</div>
<div>
175</div>
<div>
176</div>
<div>
177</div>
<div>
178</div>
<div>
179</div>
<div>
180</div>
<div>
181</div>
<div>
182</div>
<div>
183</div>
<div>
184</div>
<div>
185</div>
<div>
186</div>
<div>
187</div>
<div>
188</div>
<div>
189</div>
<div>
190</div>
<div>
191</div>
<div>
192</div>
<div>
193</div>
<div>
194</div>
<div>
195</div>
<div>
196</div>
<div>
197</div>
<div>
198</div>
<div>
199</div>
<div>
200</div>
<div>
201</div>
<div>
202</div>
<div>
203</div>
<div>
204</div>
<div>
205</div>
<div>
206</div>
<div>
207</div>
<div>
208</div>
<div>
209</div>
<div>
210</div>
<div>
211</div>
<div>
212</div>
<div>
213</div>
<div>
214</div>
<div>
215</div>
<div>
216</div>
<div>
217</div>
<div>
218</div>
<div>
219</div>
<div>
220</div>
<div>
221</div>
<div>
222</div>
<div>
223</div>
<div>
224</div>
<div>
225</div>
<div>
226</div>
<div>
227</div>
<div>
228</div>
<div>
229</div>
<div>
230</div>
<div>
231</div>
<div>
232</div>
<div>
233</div>
<div>
234</div>
<div>
235</div>
<div>
236</div>
<div>
237</div>
<div>
238</div>
<div>
239</div>
<div>
240</div>
<div>
241</div>
<div>
242</div>
<div>
243</div>
<div>
244</div>
<div>
245</div>
<div>
246</div>
<div>
247</div>
<div>
248</div>
<div>
249</div>
<div>
250</div>
<div>
251</div>
<div>
252</div>
<div>
253</div>
<div>
254</div>
<div>
255</div>
<div>
256</div>
<div>
257</div>
<div>
258</div>
<div>
259</div>
<div>
260</div>
<div>
261</div>
<div>
262</div>
<div>
263</div>
<div>
264</div>
<div>
265</div>
<div>
266</div>
<div>
267</div>
<div>
268</div>
<div>
269</div>
<div>
270</div>
<div>
271</div>
<div>
272</div>
<div>
273</div>
<div>
274</div>
<div>
275</div>
<div>
276</div>
<div>
277</div>
<div>
278</div>
<div>
279</div>
<div>
280</div>
<div>
281</div>
<div>
282</div>
<div>
283</div>
<div>
284</div>
<div>
285</div>
<div>
286</div>
<div>
287</div>
<div>
288</div>
<div>
289</div>
<div>
290</div>
<div>
291</div>
<div>
292</div>
<div>
293</div>
<div>
294</div>
<div>
295</div>
<div>
296</div>
<div>
297</div>
<div>
298</div>
<div>
299</div>
<div>
300</div>
<div>
301</div>
<div>
302</div>
<div>
303</div>
<div>
304</div>
<div>
305</div>
<div>
306</div>
<div>
307</div>
<div>
308</div>
<div>
309</div>
<div>
310</div>
<div>
311</div>
<div>
312</div>
<div>
313</div>
<div>
314</div>
<div>
315</div>
<div>
316</div>
<div>
317</div>
<div>
318</div>
<div>
319</div>
<div>
320</div>
<div>
321</div>
<div>
322</div>
<div>
323</div>
<div>
324</div>
<div>
325</div>
<div>
326</div>
<div>
327</div>
<div>
328</div>
<div>
329</div>
<div>
330</div>
<div>
331</div>
<div>
332</div>
<div>
333</div>
<div>
334</div>
<div>
335</div>
<div>
336</div>
<div>
337</div>
<div>
338</div>
<div>
339</div>
<div>
340</div>
<div>
341</div>
<div>
342</div>
<div>
343</div>
<div>
344</div>
<div>
345</div>
<div>
346</div>
<div>
347</div>
<div>
348</div>
<div>
349</div>
<div>
350</div>
<div>
351</div>
<div>
352</div>
<div>
353</div>
<div>
354</div>
<div>
355</div>
<div>
356</div>
<div>
357</div>
<div>
358</div>
<div>
359</div>
<div>
360</div>
<div>
361</div>
<div>
362</div>
<div>
363</div>
<div>
364</div>
<div>
365</div>
<div>
366</div>
<div>
367</div>
<div>
368</div>
<div>
369</div>
<div>
370</div>
<div>
371</div>
<div>
372</div>
<div>
373</div>
<div>
374</div>
<div>
375</div>
<div>
376</div>
<div>
377</div>
<div>
378</div>
<div>
379</div>
<div>
380</div>
<div>
381</div>
<div>
382</div>
<div>
383</div>
<div>
384</div>
<div>
385</div>
<div>
386</div>
<div>
387</div>
<div>
388</div>
<div>
389</div>
<div>
390</div>
<div>
391</div>
<div>
392</div>
<div>
393</div>
<div>
394</div>
<div>
395</div>
<div>
396</div>
<div>
397</div>
<div>
398</div>
<div>
399</div>
<div>
400</div>
<div>
401</div>
<div>
402</div>
<div>
403</div>
<div>
404</div>
<div>
405</div>
<div>
406</div>
<div>
407</div>
<div>
408</div>
<div>
409</div>
<div>
410</div>
<div>
411</div>
<div>
412</div>
<div>
413</div>
<div>
414</div>
<div>
415</div>
<div>
416</div>
<div>
417</div>
<div>
418</div>
<div>
419</div>
<div>
420</div>
<div>
421</div>
<div>
422</div>
<div>
423</div>
<div>
424</div>
<div>
425</div>
<div>
426</div>
<div>
427</div>
<div>
428</div>
<div>
429</div>
<div>
430</div>
<div>
431</div>
<div>
432</div>
<div>
433</div>
<div>
434</div>
<div>
435</div>
<div>
436</div>
<div>
437</div>
<div>
438</div>
<div>
439</div>
<div>
440</div>
<div>
441</div>
<div>
442</div>
<div>
443</div>
<div>
444</div>
<div>
445</div>
<div>
446</div>
<div>
447</div>
<div>
448</div>
<div>
449</div>
<div>
450</div>
<div>
451</div>
<div>
452</div>
<div>
453</div>
</td>
<td>
<div>
<div>
<code>if</code> <code>(!defined(</code><code>'DITAN_ECS'</code><code>))</code>
</div>
<div>
<code>{</code>
</div>
<div>
<code>  </code><code>die</code><code>(</code><code>'Hacking attempt'</code><code>);</code>
</div>
<div>
<code>}</code>
</div>
<div>
 </div>
<div>
<code>class</code> <code>cls_mysql</code>
</div>
<div>
<code>{</code>
</div>
<div>
<code>  </code><code>var</code> <code>$link_id</code>  <code>= NULL;</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$settings</code>  <code>= </code><code>array</code><code>();</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$queryCount</code> <code>= 0;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$queryTime</code> <code>= </code><code>''</code><code>;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$queryLog</code>  <code>= </code><code>array</code><code>();</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$max_cache_time</code> <code>= 300; </code><code>// 最大的缓存时间,以秒为单位</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$cache_data_dir</code> <code>= </code><code>'temp/query_caches/'</code><code>;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$root_path</code>   <code>= </code><code>''</code><code>;</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$error_message</code> <code>= </code><code>array</code><code>();</code>
</div>
<div>
<code>  </code><code>var</code> <code>$platform</code>    <code>= </code><code>''</code><code>;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$version</code>    <code>= </code><code>''</code><code>;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$dbhash</code>     <code>= </code><code>''</code><code>;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$starttime</code>   <code>= 0;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$timeline</code>    <code>= 0;</code>
</div>
<div>
<code>  </code><code>var</code> <code>$timezone</code>    <code>= 0;</code>
</div>
<div>
<code>  </code><code>// 事务指令数</code>
</div>
<div>
<code>  </code><code>protected</code> <code>$transTimes</code> <code>= 0;</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$mysql_config_cache_file_time</code> <code>= 0;</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>var</code> <code>$mysql_disable_cache_tables</code> <code>= </code><code>array</code><code>(); </code><code>// 不允许被缓存的表,遇到将不会进行缓存</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>__construct(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>, </code><code>$dbname</code> <code>= </code><code>''</code><code>, </code><code>$charset</code> <code>= </code><code>'gbk'</code><code>, </code><code>$pconnect</code> <code>= 0, </code><code>$quiet</code> <code>= 0)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$this</code><code>-&gt;cls_mysql(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>, </code><code>$dbname</code><code>, </code><code>$charset</code><code>, </code><code>$pconnect</code><code>, </code><code>$quiet</code><code>);</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>cls_mysql(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>, </code><code>$dbname</code> <code>= </code><code>''</code><code>, </code><code>$charset</code> <code>= </code><code>'gbk'</code><code>, </code><code>$pconnect</code> <code>= 0, </code><code>$quiet</code> <code>= 0)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(defined(</code><code>'EC_CHARSET'</code><code>))</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$charset</code> <code>= </code><code>strtolower</code><code>(</code><code>str_replace</code><code>(</code><code>'-'</code><code>, </code><code>''</code><code>, EC_CHARSET));</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(defined(</code><code>'ROOT_PATH'</code><code>) &amp;&amp; !</code><code>$this</code><code>-&gt;root_path)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;root_path = ROOT_PATH;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$quiet</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;connect(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>, </code><code>$dbname</code><code>, </code><code>$charset</code><code>, </code><code>$pconnect</code><code>, </code><code>$quiet</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;settings = </code><code>array</code><code>(</code>
</div>
<div>
<code>                  </code><code>'dbhost'</code>  <code>=&gt; </code><code>$dbhost</code><code>,</code>
</div>
<div>
<code>                  </code><code>'dbuser'</code>  <code>=&gt; </code><code>$dbuser</code><code>,</code>
</div>
<div>
<code>                  </code><code>'dbpw'</code>   <code>=&gt; </code><code>$dbpw</code><code>,</code>
</div>
<div>
<code>                  </code><code>'dbname'</code>  <code>=&gt; </code><code>$dbname</code><code>,</code>
</div>
<div>
<code>                  </code><code>'charset'</code> <code>=&gt; </code><code>$charset</code><code>,</code>
</div>
<div>
<code>                  </code><code>'pconnect'</code> <code>=&gt; </code><code>$pconnect</code>
</div>
<div>
<code>                  </code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>connect(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>, </code><code>$dbname</code> <code>= </code><code>''</code><code>, </code><code>$charset</code> <code>= </code><code>'utf8'</code><code>, </code><code>$pconnect</code> <code>= 0, </code><code>$quiet</code> <code>= 0)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$pconnect</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;link_id = </code><code>new</code> <code>mysqli(</code><code>'p:'</code><code>.</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>);</code>
</div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;link_id-&gt;connect_error)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>if</code> <code>(!</code><code>$quiet</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;ErrorMsg(</code><code>"Can't pConnect MySQL Server($dbhost)!"</code><code>);</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>        </code><code>return</code> <code>false;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;link_id = </code><code>new</code> <code>mysqli(</code><code>$dbhost</code><code>, </code><code>$dbuser</code><code>, </code><code>$dbpw</code><code>);</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;link_id-&gt;connect_error)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>if</code> <code>(!</code><code>$quiet</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;ErrorMsg(</code><code>"Can't Connect MySQL Server($dbhost)!"</code><code>);</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>        </code><code>return</code> <code>false;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>$this</code><code>-&gt;dbhash = md5(</code><code>$this</code><code>-&gt;root_path . </code><code>$dbhost</code> <code>. </code><code>$dbuser</code> <code>. </code><code>$dbpw</code> <code>. </code><code>$dbname</code><code>);</code>
</div>
<div>
<code>    </code><code>$this</code><code>-&gt;version = </code><code>$this</code><code>-&gt;link_id-&gt;server_version;</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>/* 对字符集进行初始化 */</code>
</div>
<div>
<code>    </code><code>$this</code><code>-&gt;link_id-&gt;set_charset(</code><code>$charset</code><code>);</code>
</div>
<div>
<code>    </code>
</div>
<div>
<code>    </code><code>$this</code><code>-&gt;link_id-&gt;query(</code><code>"SET sql_mode=''"</code><code>);</code>
</div>
<div>
<code>    </code><code>$sqlcache_config_file</code> <code>= </code><code>$this</code><code>-&gt;root_path . </code><code>$this</code><code>-&gt;cache_data_dir . </code><code>'sqlcache_config_file_'</code> <code>. </code><code>$this</code><code>-&gt;dbhash . </code><code>'.php'</code><code>;</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>@</code><code>include</code><code>(</code><code>$sqlcache_config_file</code><code>);</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>$this</code><code>-&gt;starttime = time();</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;max_cache_time &amp;&amp; </code><code>$this</code><code>-&gt;starttime &gt; </code><code>$this</code><code>-&gt;mysql_config_cache_file_time + </code><code>$this</code><code>-&gt;max_cache_time)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$dbhost</code> <code>!= </code><code>'.'</code><code>)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$result</code> <code>= </code><code>$this</code><code>-&gt;link_id-&gt;query(</code><code>"SHOW VARIABLES LIKE 'basedir'"</code><code>);</code>
</div>
<div>
<code>        </code><code>$row</code> <code>= </code><code>$result</code><code>-&gt;fetch_array(MYSQLI_ASSOC);</code>
</div>
<div>
<code>        </code><code>$result</code><code>-&gt;free();</code>
</div>
<div>
<code>        </code><code>if</code> <code>(!</code><code>empty</code><code>(</code><code>$row</code><code>[</code><code>'Value'</code><code>]{1}) &amp;&amp; </code><code>$row</code><code>[</code><code>'Value'</code><code>]{1} == </code><code>':'</code> <code>&amp;&amp; !</code><code>empty</code><code>(</code><code>$row</code><code>[</code><code>'Value'</code><code>]{2}) &amp;&amp; </code><code>$row</code><code>[</code><code>'Value'</code><code>]{2} == </code><code>"/"</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;platform = </code><code>'WINDOWS'</code><code>;</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
<code>        </code><code>else</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;platform = </code><code>'OTHER'</code><code>;</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>      </code><code>else</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$this</code><code>-&gt;platform = </code><code>'WINDOWS'</code><code>;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;platform == </code><code>'OTHER'</code> <code>&amp;&amp;</code>
</div>
<div>
<code>        </code><code>(</code><code>$dbhost</code> <code>!= </code><code>'.'</code> <code>&amp;&amp; </code><code>strtolower</code><code>(</code><code>$dbhost</code><code>) != </code><code>'localhost:3306'</code> <code>&amp;&amp; </code><code>$dbhost</code> <code>!= </code><code>'127.0.0.1:3306'</code><code>) ||</code>
</div>
<div>
<code>        </code><code>date_default_timezone_get() == </code><code>'UTC'</code><code>)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$result</code> <code>= </code><code>$this</code><code>-&gt;link_id-&gt;query(</code><code>"SELECT UNIX_TIMESTAMP() AS timeline, UNIX_TIMESTAMP('"</code> <code>. </code><code>date</code><code>('Y-m-d H:i:s</code><code>', $this-&gt;starttime) . "'</code><code>) AS timezone");</code>
</div>
<div>
<code>        </code><code>$row</code> <code>= </code><code>$result</code><code>-&gt;fetch_array(MYSQLI_ASSOC);</code>
</div>
<div>
<code>        </code><code>$result</code><code>-&gt;free();</code>
</div>
<div>
<code>        </code><code>if</code> <code>(</code><code>$dbhost</code> <code>!= </code><code>'.'</code> <code>&amp;&amp; </code><code>strtolower</code><code>(</code><code>$dbhost</code><code>) != </code><code>'localhost:3306'</code> <code>&amp;&amp; </code><code>$dbhost</code> <code>!= </code><code>'127.0.0.1:3306'</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;timeline = </code><code>$this</code><code>-&gt;starttime - </code><code>$row</code><code>[</code><code>'timeline'</code><code>];</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
<code>        </code><code>if</code> <code>(date_default_timezone_get() == </code><code>'UTC'</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;timezone = </code><code>$this</code><code>-&gt;starttime - </code><code>$row</code><code>[</code><code>'timezone'</code><code>];</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>$content</code> <code>= </code><code>'&lt;'</code> <code>. </code><code>"?php\r\n"</code> <code>.</code>
</div>
<div>
<code>            </code><code>'$this-&gt;mysql_config_cache_file_time = '</code> <code>. </code><code>$this</code><code>-&gt;starttime . </code><code>";\r\n"</code> <code>.</code>
</div>
<div>
<code>            </code><code>'$this-&gt;timeline = '</code> <code>. </code><code>$this</code><code>-&gt;timeline . </code><code>";\r\n"</code> <code>.</code>
</div>
<div>
<code>            </code><code>'$this-&gt;timezone = '</code> <code>. </code><code>$this</code><code>-&gt;timezone . </code><code>";\r\n"</code> <code>.</code>
</div>
<div>
<code>            </code><code>'$this-&gt;platform = '</code> <code>. </code><code>"'"</code> <code>. </code><code>$this</code><code>-&gt;platform . </code><code>"';\r\n?"</code> <code>. </code><code>'&gt;'</code><code>;</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>@</code><code>file_put_contents</code><code>(</code><code>$sqlcache_config_file</code><code>, </code><code>$content</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>/* 选择数据库 */</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$dbname</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code>
</div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;link_id-&gt;select_db(</code><code>$dbname</code><code>) === false )</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>if</code> <code>(!</code><code>$quiet</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>$this</code><code>-&gt;ErrorMsg(</code><code>"Can't select MySQL database($dbname)!"</code><code>);</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>        </code><code>return</code> <code>false;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>      </code><code>else</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>return</code> <code>true;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>return</code> <code>true;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>select_database(</code><code>$dbname</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;select_db(</code><code>$dbname</code><code>);</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>set_mysql_charset(</code><code>$charset</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(in_array(</code><code>strtolower</code><code>(</code><code>$charset</code><code>), </code><code>array</code><code>(</code><code>'gbk'</code><code>, </code><code>'big5'</code><code>, </code><code>'utf-8'</code><code>, </code><code>'utf8'</code><code>)))</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$charset</code> <code>= </code><code>str_replace</code><code>(</code><code>'-'</code><code>, </code><code>''</code><code>, </code><code>$charset</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>$this</code><code>-&gt;link_id-&gt;set_charset(</code><code>$charset</code><code>);</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>fetch_array(</code><code>$query</code><code>, </code><code>$result_type</code> <code>= MYSQLI_ASSOC)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$row</code> <code>= </code><code>$query</code><code>-&gt;fetch_array(</code><code>$result_type</code><code>);</code>
</div>
<div>
<code>    </code><code>$query</code><code>-&gt;free();</code>
</div>
<div>
<code>    </code><code>return</code> <code>$row</code><code>;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>query(</code><code>$sql</code><code>, </code><code>$type</code> <code>= </code><code>''</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;link_id === NULL)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;connect(</code><code>$this</code><code>-&gt;settings[</code><code>'dbhost'</code><code>], </code><code>$this</code><code>-&gt;settings[</code><code>'dbuser'</code><code>], </code><code>$this</code><code>-&gt;settings[</code><code>'dbpw'</code><code>], </code><code>$this</code><code>-&gt;settings[</code><code>'dbname'</code><code>], </code><code>$this</code><code>-&gt;settings[</code><code>'charset'</code><code>], </code><code>$this</code><code>-&gt;settings[</code><code>'pconnect'</code><code>]);</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;settings = </code><code>array</code><code>();</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;queryCount++ &lt;= 99)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;queryLog[] = </code><code>$sql</code><code>;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$this</code><code>-&gt;queryTime == </code><code>''</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>if</code> <code>(PHP_VERSION &gt;= </code><code>'5.0.0'</code><code>)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$this</code><code>-&gt;queryTime = microtime(true);</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>      </code><code>else</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$this</code><code>-&gt;queryTime = microtime();</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>/* 当当前的时间大于类初始化时间的时候,自动执行 ping 这个自动重新连接操作 */</code>
</div>
<div>
<code>    </code><code>if</code> <code>(time() &gt; </code><code>$this</code><code>-&gt;starttime + 1)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;link_id-&gt;ping();</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(!(</code><code>$query</code> <code>= </code><code>$this</code><code>-&gt;link_id-&gt;query(</code><code>$sql</code><code>)) &amp;&amp; </code><code>$type</code> <code>!= </code><code>'SILENT'</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;error_message[][</code><code>'message'</code><code>] = </code><code>'MySQL Query Error'</code><code>;</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;error_message[][</code><code>'sql'</code><code>] = </code><code>$sql</code><code>;</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;error_message[][</code><code>'error'</code><code>] = </code><code>$this</code><code>-&gt;link_id-&gt;error;</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;error_message[][</code><code>'errno'</code><code>] = </code><code>$this</code><code>-&gt;link_id-&gt;errno;</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>$this</code><code>-&gt;ErrorMsg();</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>return</code> <code>false;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(defined(</code><code>'DEBUG_MODE'</code><code>) &amp;&amp; (DEBUG_MODE &amp; 8) == 8)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$logfilename</code> <code>= </code><code>$this</code><code>-&gt;root_path . DATA_DIR . </code><code>'/mysql_query_'</code> <code>. </code><code>$this</code><code>-&gt;dbhash . </code><code>'_'</code> <code>. </code><code>date</code><code>(</code><code>'Y_m_d'</code><code>) . </code><code>'.log'</code><code>;</code>
</div>
<div>
<code>      </code><code>$str</code> <code>= </code><code>$sql</code> <code>. </code><code>"\n\n"</code><code>;</code>
</div>
<div>
 </div>
<div>
<code>      </code><code>if</code> <code>(PHP_VERSION &gt;= </code><code>'5.0'</code><code>)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>file_put_contents</code><code>(</code><code>$logfilename</code><code>, </code><code>$str</code><code>, FILE_APPEND);</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>      </code><code>else</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>$fp</code> <code>= @</code><code>fopen</code><code>(</code><code>$logfilename</code><code>, </code><code>'ab+'</code><code>);</code>
</div>
<div>
<code>        </code><code>if</code> <code>(</code><code>$fp</code><code>)</code>
</div>
<div>
<code>        </code><code>{</code>
</div>
<div>
<code>          </code><code>fwrite(</code><code>$fp</code><code>, </code><code>$str</code><code>);</code>
</div>
<div>
<code>          </code><code>fclose(</code><code>$fp</code><code>);</code>
</div>
<div>
<code>        </code><code>}</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>return</code> <code>$query</code><code>;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>affected_rows()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;affected_rows;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>error()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;error;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>errno()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;errno;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>result(</code><code>$query</code><code>, </code><code>$row</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$query</code><code>-&gt;data_seek(</code><code>$row</code><code>);</code>
</div>
<div>
<code>    </code><code>$result</code> <code>= </code><code>$query</code><code>-&gt;fetch_row();</code>
</div>
<div>
<code>    </code><code>$query</code><code>-&gt;free();</code>
</div>
<div>
<code>    </code><code>return</code> <code>$result</code><code>;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>num_rows(</code><code>$query</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$query</code><code>-&gt;num_rows;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>num_fields(</code><code>$query</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;field_count;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>free_result(</code><code>$query</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$query</code><code>-&gt;free();</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>insert_id()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;insert_id;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>fetchRow(</code><code>$query</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$query</code><code>-&gt;fetch_assoc();</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>fetch_fields(</code><code>$query</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$query</code><code>-&gt;fetch_field();</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>version()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;version;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>ping()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;ping();</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>escape_string(</code><code>$unescaped_string</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;real_escape_string(</code><code>$unescaped_string</code><code>);</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>close()</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;link_id-&gt;close();</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>ErrorMsg(</code><code>$message</code> <code>= </code><code>''</code><code>, </code><code>$sql</code> <code>= </code><code>''</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$message</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>echo</code> <code>"&lt;b&gt;DTXB info&lt;/b&gt;: $message\n\n&lt;br /&gt;&lt;br /&gt;"</code><code>;</code>
</div>
<div>
<code>      </code><code>//print('&lt;a href="http://faq.comsenz.com/?type=mysql&amp;dberrno=2003&amp;dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank"&gt;http://faq.comsenz.com/&lt;/a&gt;');</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>echo</code> <code>"&lt;b&gt;MySQL server error report:"</code><code>;</code>
</div>
<div>
<code>      </code><code>print_r(</code><code>$this</code><code>-&gt;error_message);</code>
</div>
<div>
<code>      </code><code>//echo "&lt;br /&gt;&lt;br /&gt;&lt;a href='http://faq.comsenz.com/?type=mysql&amp;dberrno=" . $this-&gt;error_message['errno'] . "&amp;dberror=" . urlencode($this-&gt;error_message['error']) . "' target='_blank'&gt;http://faq.comsenz.com/&lt;/a&gt;";</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>exit</code><code>;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>/* 仿真 Adodb 函数 */</code>
</div>
<div>
<code>  </code><code>function</code> <code>selectLimit(</code><code>$sql</code><code>, </code><code>$num</code><code>, </code><code>$start</code> <code>= 0)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$start</code> <code>== 0)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$sql</code> <code>.= </code><code>' LIMIT '</code> <code>. </code><code>$num</code><code>;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$sql</code> <code>.= </code><code>' LIMIT '</code> <code>. </code><code>$start</code> <code>. </code><code>', '</code> <code>. </code><code>$num</code><code>;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>return</code> <code>$this</code><code>-&gt;query(</code><code>$sql</code><code>);</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>getOne(</code><code>$sql</code><code>, </code><code>$limited</code> <code>= false)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$limited</code> <code>== true)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$sql</code> <code>= trim(</code><code>$sql</code> <code>. </code><code>' LIMIT 1'</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>$res</code> <code>= </code><code>$this</code><code>-&gt;query(</code><code>$sql</code><code>);</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$res</code> <code>!== false)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$row</code> <code>= </code><code>$res</code><code>-&gt;fetch_row();</code>
</div>
<div>
<code>      </code><code>$res</code><code>-&gt;free();</code>
</div>
<div>
<code>      </code><code>if</code> <code>(</code><code>$row</code> <code>!== false)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>return</code> <code>$row</code><code>;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>      </code><code>else</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>return</code> <code>''</code><code>;</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>return</code> <code>false;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>getOneCached(</code><code>$sql</code><code>, </code><code>$cached</code> <code>= </code><code>'FILEFIRST'</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$sql</code> <code>= trim(</code><code>$sql</code> <code>. </code><code>' LIMIT 1'</code><code>);</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>$cachefirst</code> <code>= (</code><code>$cached</code> <code>== </code><code>'FILEFIRST'</code> <code>|| (</code><code>$cached</code> <code>== </code><code>'MYSQLFIRST'</code> <code>&amp;&amp; </code><code>$this</code><code>-&gt;platform != </code><code>'WINDOWS'</code><code>)) &amp;&amp; </code><code>$this</code><code>-&gt;max_cache_time;</code>
</div>
<div>
<code>    </code><code>if</code> <code>(!</code><code>$cachefirst</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>return</code> <code>$this</code><code>-&gt;getOne(</code><code>$sql</code><code>, true);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$result</code> <code>= </code><code>$this</code><code>-&gt;getSqlCacheData(</code><code>$sql</code><code>, </code><code>$cached</code><code>);</code>
</div>
<div>
<code>      </code><code>if</code> <code>(</code><code>empty</code><code>(</code><code>$result</code><code>[</code><code>'storecache'</code><code>]) == true)</code>
</div>
<div>
<code>      </code><code>{</code>
</div>
<div>
<code>        </code><code>return</code> <code>$result</code><code>[</code><code>'data'</code><code>];</code>
</div>
<div>
<code>      </code><code>}</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>$arr</code> <code>= </code><code>$this</code><code>-&gt;getOne(</code><code>$sql</code><code>, true);</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$arr</code> <code>!== false &amp;&amp; </code><code>$cachefirst</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$this</code><code>-&gt;setSqlCacheData(</code><code>$result</code><code>, </code><code>$arr</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>    </code><code>return</code> <code>$arr</code><code>;</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>getAll(</code><code>$sql</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$res</code> <code>= </code><code>$this</code><code>-&gt;query(</code><code>$sql</code><code>);</code>
</div>
<div>
<code>    </code><code>if</code> <code>(</code><code>$res</code> <code>!== false)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$arr</code> <code>= </code><code>$res</code><code>-&gt;fetch_all(MYSQLI_ASSOC);</code>
</div>
<div>
<code>      </code><code>$res</code><code>-&gt;free();</code>
</div>
<div>
<code>       </code><code>return</code> <code>$arr</code><code>;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>return</code> <code>false;</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>  </code><code>}</code>
</div>
<div>
 </div>
<div>
<code>  </code><code>function</code> <code>getAllCached(</code><code>$sql</code><code>, </code><code>$cached</code> <code>= </code><code>'FILEFIRST'</code><code>)</code>
</div>
<div>
<code>  </code><code>{</code>
</div>
<div>
<code>    </code><code>$cachefirst</code> <code>= (</code><code>$cached</code> <code>== </code><code>'FILEFIRST'</code> <code>|| (</code><code>$cached</code> <code>== </code><code>'MYSQLFIRST'</code> <code>&amp;&amp; </code><code>$this</code><code>-&gt;platform != </code><code>'WINDOWS'</code><code>)) &amp;&amp; </code><code>$this</code><code>-&gt;max_cache_time;</code>
</div>
<div>
<code>    </code><code>if</code> <code>(!</code><code>$cachefirst</code><code>)</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>return</code> <code>$this</code><code>-&gt;getAll(</code><code>$sql</code><code>);</code>
</div>
<div>
<code>    </code><code>}</code>
</div>
<div>
<code>    </code><code>else</code>
</div>
<div>
<code>    </code><code>{</code>
</div>
<div>
<code>      </code><code>$result</code> <code>= </code><code>$this</code><code>-&gt;getSqlCacheData</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
以上就是小编为大家带来的ecshop适应在PHP7的修改方法解决报错的实现全部内容了,希望大家多多支持~</p>
頁: [1]
查看完整版本: ecshop适应在PHP7的修改方法解决报错的实现