<span> 1</span> <span>
</span>
<span> 9</span>
<span>10</span> <span>
public
</span> <span>
function
</span> creat_sqlite(<span>
$db
</span>, <span>
$tbname
</span>, <span>
$is_blob
</span> = <span>false</span>, <span>
$retbname
</span> = <span>false</span><span>){
</span><span>11</span>
<span>12</span> <span>
$runsql1
</span> = <span>
$db
</span>->query(
"SELECT * FROM `<span>$tbname</span>` limit 1"
<span>);
</span><span>13</span> <span>
$fields_rows
</span> = <span>
$runsql1
</span>-><span>columnCount();
</span><span>14</span>
<span>15</span> <span>
$tb_fields_info
</span> = <span>
array
</span><span>();
</span><span>16</span> <span>
$tb_string
</span> =
""
<span>;
</span><span>17</span> <span>
$dot
</span> =
""
<span>;
</span><span>18</span>
<span>19</span> <span>
for
</span> (<span>
$i
</span> = 0; <span>
$i
</span> < <span>
$fields_rows
</span>; <span>
$i
</span>++<span>) {
</span><span>20</span> <span>
if
</span> (<span>
$i
</span> == 1<span>) {
</span><span>21</span> <span>
$dot
</span> =
", "
<span>;
</span><span>22</span> <span> }
</span><span>23</span>
<span>24</span> <span>
$tb_meta
</span> = <span>
$runsql1
</span>->getColumnMeta(<span>
$i
</span><span>);
</span><span>25</span> <span>
$tb_string
</span> .= <span>
$dot
</span>.<span>
$tb_meta
</span>[
'name'
<span>];
</span><span>26</span> <span>
</span><span>27</span>
<span>28</span> <span>
<span>29</span> <span>
if
</span> (<span>
$is_blob
</span> && <span>in_array</span>(<span>
$tb_meta
</span>[
'name'
], <span>
$is_blob
</span><span>)) {
</span><span>30</span> <span>
$tb_string
</span> .=
" "
.
"blob"
<span>;
</span><span>31</span> } <span>
else
</span><span> {
</span><span>32</span> <span>
<span>33</span> <span>
switch
</span>(<span>
$tb_meta
</span>[
'native_type'
<span>]){
</span><span>34</span> <span>
case
</span>
"VAR_STRING"
:
<span>35</span> <span>
$tb_string
</span> .=
" "
.
"varchar"
<span>;
</span><span>36</span> <span>
break
</span><span>;
</span><span>37</span>
<span>38</span> <span>
case
</span>
"LONG"
:
<span>39</span> <span>
$tb_string
</span> .=
" "
.
"integer"
<span>;
</span><span>40</span> <span>
break
</span><span>;
</span><span>41</span>
<span>42</span> <span>
case
</span>
"BLOB"
:
<span>43</span> <span>
$tb_string
</span> .=
" "
.
"text"
<span>;
</span><span>44</span> <span>
break
</span><span>;
</span><span>45</span> <span>
case
</span>
"TINY"
:
<span>46</span> <span>
$tb_string
</span> .=
" "
.
"smallint"
<span>;
</span><span>47</span> <span>
break
</span><span>;
</span><span>48</span> <span> }
</span><span>49</span> <span> }
</span><span>50</span>
<span>51</span> <span>
if
</span> (<span>isset</span>(<span>
$tb_meta
</span>[
'flags'
][1]) && (<span>
$tb_meta
</span>[
'flags'
][1] ===
"primary_key"
<span>)) {
</span><span>52</span> <span>
$tb_string
</span> .=
" "
.
"PRIMARY KEY"
<span>;
</span><span>53</span> <span> }
</span><span>54</span>
<span>55</span> <span>
if
</span> (<span>isset</span>(<span>
$tb_meta
</span>[
'flags'
][0]) && (<span>
$tb_meta
</span>[
'flags'
][0] ===
"not_null"
<span>)) {
</span><span>56</span> <span>
$tb_string
</span> .=
" "
.
"NOT NULL"
<span>;
</span><span>57</span> <span> }
</span><span>58</span>
<span>59</span> <span>
<span>60</span> <span> }
</span><span>61</span>
<span>62</span> <span>
<span>63</span> <span>
$retbname
</span> = <span>
$retbname
</span> == <span>true</span> ? <span>
$retbname
</span> : <span>
$tbname
</span><span>;
</span><span>64</span>
<span>65</span> <span>
<span>66</span> <span>
$creat_data
</span> =
"CREATE TABLE IF NOT EXISTS {<span>$retbname</span>} (<span>$tb_string</span>);"
<span>;
</span><span>67</span>
<span>68</span> <span>
return
</span> <span>
$creat_data
</span><span>;
</span><span>69</span> }