2016-11-21 7 views
0

お願いします。

私はtxtファイルをデータベースに変換したいと思います。

私は2つのテーブルを持っており、それは関係があります。ここで

が私のDBである:

OLT 
---- 
id_olt 
onu_number 
type 
serial_num 

ONU 
---- 
id_onu 
id_olt 
name 

そしてここでは、私のデータのための一例である(* .TXT)

"interface gpon-olt_1/2/1 
    onu 1 type ZTEG-F660 sn ZTEABCDABCD 
    onu 2 type ZTEG-F660 sn ZTEABCDABCD 
    onu 3 type ZTEG-F660 sn ZTEABCDABCD 
! 
interface gpon-onu_1/2/1:1 
    name Alex 
! 
" 

ここに私のコード:

// some reading file's code 
... 
if (strpos($values, $cari='interface gpon-olt_') !== false) { 
if(strpos($values, $cari=' onu ') !== false){ 
$sql = mysql_query("INSERT INTO olt (id_olt, onu_number, type, serial_num) 
values ('','$onu_num',$type','serial_number') "); 
... 

ので、すべての$ sqlを実行して、私はそのIDをキャッチしたい、私はこれを置く:

$simpanidd = mysql_query("SELECT max(id_olt) from olt"); 
$simpanid = mysql_fetch_row($simpanidd); 

しかし、私は、そのことをショー実行するたびに新しい値が前の値降りかかるだったよう

Array ([0] => 96 [max(id_olt)] => 96) 
Array ([0] => 97 [max(id_olt)] => 97) 

ITSが見えます。誰かが私を助けてください

Array ([0] => Array ([0] => 94 [max(id_olt)] => 94)) 
Array ([0] => Array ([0] => 94 [max(id_olt)] => 94) 
    [1] => Array ([0] => 95 [max(id_olt)] => 95)) 

私はそうだ:「[] $ simpanidを」(

その後、私は配列に「$ simpanid」作ってみるが、それは示している。私はそれをたくありません?あなたが何をする必要があるか

+2

'$ simpanid = array(); while($ row = mysql_fetch_row($ simpanidd)){$ simpanid = $ row;} 'となります。それを確認してください。そして、廃止された+削除されたライブラリ 'mysql_ * 'の使用を止めてください。 'prepared statement'と一緒に' mysqli_ * 'や' PDO'を使用する –

+0

Array([0] => 104)配列([0] => 105)を表示します.. –

+0

あなたのクエリは複数回実行されています?私はそれがあなたの現在のコード –

答えて

0

がちょうどINSERT_IDに

$simpanid = mysql_insert_id(); 
を取得することです(私の悪い英語のため申し訳ありませんが)...

を混乱させる

mysql_query()の後に、そのクエリに対して生成されたIDを取得します。

+0

その仕事!ありがとう!! –

関連する問題