1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
<span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #981a1a;"><?</span><span style="box-sizing: border-box; color: #000000;">php</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">class</span> <span style="box-sizing: border-box; color: #0000ff;">SQLiteDB</span> <span style="box-sizing: border-box; color: #770088;">extends</span> <span style="box-sizing: border-box; color: #000000;">SQLite3</span> {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">__construct</span>(){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">try</span> {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$this</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">open</span>(<span style="box-sizing: border-box; color: #3300aa;">dirname</span>(<span style="box-sizing: border-box; color: #221199;">__FILE__</span>).<span style="box-sizing: border-box; color: #22a2c9;">'/../data/sqlite_ecloud.db'</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}<span style="box-sizing: border-box; color: #770088;">catch</span> (<span style="box-sizing: border-box; color: #000000;">Exception</span> <span style="box-sizing: border-box; color: #0055aa;">$e</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">die</span>(<span style="box-sizing: border-box; color: #0055aa;">$e</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">getMessage</span>());</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">class</span> <span style="box-sizing: border-box; color: #0000ff;">DBUtils</span> {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">private</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #0055aa;">$db</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">private</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">instance</span>(){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">if</span> (<span style="box-sizing: border-box; color: #981a1a;">!</span><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span>) {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #770088;">new</span> <span style="box-sizing: border-box; color: #000000;">SQLiteDB</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 创建表</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">create</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">query</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">if</span> (<span style="box-sizing: border-box; color: #0055aa;">$result</span>) {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #221199;">true</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #221199;">false</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 执行增删改操作</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">execute</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #3300aa;">exec</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">if</span> (<span style="box-sizing: border-box; color: #0055aa;">$result</span>) {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #221199;">true</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #221199;">false</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 获取记录条数</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @return int</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #3300aa;">count</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">querySingle</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">?</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span> : <span style="box-sizing: border-box; color: #116644;">0</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 查询单个字段</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @return void|string</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">querySingle</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">querySingle</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">?</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span> : <span style="box-sizing: border-box; color: #22a2c9;">''</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 查询单条记录</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @return array</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">queryRow</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">querySingle</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>,<span style="box-sizing: border-box; color: #221199;">true</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">/**</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* 查询多条记录</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @param string $sql</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">* @return array</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #aa5500;">*/</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">public</span> <span style="box-sizing: border-box; color: #770088;">static</span> <span style="box-sizing: border-box; color: #770088;">function</span> <span style="box-sizing: border-box; color: #0000ff;">queryList</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">self</span>::<span style="box-sizing: border-box; color: #000000;">instance</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$result</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #770088;">array</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$ret</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">@self</span>::<span style="box-sizing: border-box; color: #0055aa;">$db</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">query</span>(<span style="box-sizing: border-box; color: #0055aa;">$sql</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">if</span> (<span style="box-sizing: border-box; color: #981a1a;">!</span><span style="box-sizing: border-box; color: #0055aa;">$ret</span>) {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">while</span>(<span style="box-sizing: border-box; color: #0055aa;">$row</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #0055aa;">$ret</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">fetchArray</span>(<span style="box-sizing: border-box; color: #000000;">SQLITE3_ASSOC</span>) ){</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #3300aa;">array_push</span>(<span style="box-sizing: border-box; color: #0055aa;">$result</span>, <span style="box-sizing: border-box; color: #0055aa;">$row</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">return</span> <span style="box-sizing: border-box; color: #0055aa;">$result</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #981a1a;">?></span></span> |
调用方式:引入DBUtils.php文件,然后通过 *DBUtils::方法名* 这种形式,即可操作SQLite数据库了。