Home  >  Article  >  Backend Development  >  php online mysql big data import program

php online mysql big data import program

WBOY
WBOYOriginal
2016-08-08 09:22:51970browse

<span><br> 1</span> <?<span>php
</span><span> 2</span><span>header</span>("content-type:text/html;charset=utf-8"<span>);
</span><span> 3</span><span>error_reporting</span>(<span>E_ALL</span><span>);
</span><span> 4</span><span>set_time_limit</span>(0<span>);
</span><span> 5</span><span>$file</span>='./test.sql'<span>;
</span><span> 6</span><span>$data</span>=<span>file</span>(<span>$file</span><span>);
</span><span> 7</span><span> 8</span><span>echo</span> "<pre class="brush:php;toolbar:false">"<span>;
</span><span> 9</span><span>//</span><span>print_r($data);</span><span>10</span><span>$data_new</span>=<span>array</span><span>();
</span><span>11</span><span>$tmp</span>=<span>array</span><span>();
</span><span>12</span><span>foreach</span> (<span>$data</span><span>as</span><span>$line</span><span>) {
</span><span>13</span><span>14</span><span>$line</span>=<span>trim</span>(<span>$line</span><span>);
</span><span>15</span><span>if</span>(<span>strlen</span>(<span>$line</span>)==0<span>){
</span><span>16</span><span>continue</span><span>;
</span><span>17</span><span>    }
</span><span>18</span><span>if</span>(<span>substr</span>(<span>$line</span>,0,2)=='--'<span>){
</span><span>19</span><span>continue</span><span>;
</span><span>20</span><span>    }
</span><span>21</span><span>if</span>(<span>substr</span>(<span>$line</span>,0,2)=='/*'<span>){
</span><span>22</span><span>continue</span><span>;
</span><span>23</span><span>    }
</span><span>24</span><span>$tmp</span>[]=<span>$line</span><span>;
</span><span>25</span><span>if</span>(<span>substr</span>(<span>$line</span>,-1)==';'<span>){
</span><span>26</span><span>$query</span>=<span>implode</span>('',<span>$tmp</span><span>);
</span><span>27</span><span>$tmp</span>=<span>array</span><span>();
</span><span>28</span><span>$data_new</span>[]=<span>$query</span><span>;
</span><span>29</span><span>    }
</span><span>30</span><span>31</span><span>}
</span><span>32</span><span>33</span><span>34</span><span>35</span><span>$mysqli</span>=<span>new</span> mysqli('localhost','root','root','test'<span>);
</span><span>36</span><span>if</span>(<span>$mysqli</span>-><span>connect_errno){
</span><span>37</span><span>exit</span>('数据库连接失败!'<span>);
</span><span>38</span><span>}
</span><span>39</span><span>$mysqli</span>->query("set names utf8"<span>);
</span><span>40</span><span>41</span><span>$error</span>=<span>array</span><span>();
</span><span>42</span><span>foreach</span>(<span>$data_new</span><span>as</span><span>$sql</span><span>){
</span><span>43</span><span>$mysqli</span>->query(<span>$sql</span><span>);
</span><span>44</span><span>$r</span>=<span>$mysqli</span>-><span>error;
</span><span>45</span><span>if</span>(<span>$r</span>) <span>$error</span>[]=<span>$r</span><span>;
</span><span>46</span><span>}
</span><span>47</span><span>print_r</span>(<span>$r</span><span>);
</span><span>48</span><span>49</span><span>50</span><span>/*</span><span>51</span><span>52</span><span>53</span><span>mysql>ALTER TABLE tbl2 DISABLE KEYS;
</span><span>54</span><span>Query OK, 0 rows affected (0.00 sec)
</span><span>55</span><span>56</span><span>mysql>INSERT INTO tbl2 SELECT * FROM tbl1;
</span><span>57</span><span>Query OK, 2000000 row affected (36.30 sec)
</span><span>58</span><span>Records: 2000000 Duplicates: 0 Warnings: 0
</span><span>59</span><span>60</span><span>mysql>ALTER TABLE tbl2 ENABLE KEYS;
</span><span>61</span><span>Query OK, 0 rows affected (44.55 sec)
</span><span>62</span><span>63</span><span>64</span><span>*/</span>

Applicable situation: The sql file exported by phpmyadmin is too large and cannot be imported into online phpmyadmin

Upload the program and sql file to the space, and delete it after use.

The above introduces the PHP online mysql big data import program, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn