如何将文件中的数据插入到php中的表中

时间:2014-05-21 21:14:49

标签: php

我正在编写一个php脚本,它将使用ssh登录服务器,获取最新的30行ina文件并将数据插入表中:

system.out文件看起来像这样,由空格分隔:

2014-05-21-16.30.20 20
2014-05-21-16.31.20 10
2014-05-21-16.32.20 30
2014-05-21-16.33.20 50
2014-05-21-16.34.20 10
2014-05-21-16.35.20 50
2014-05-21-16.36.20 60

这是我的剧本。我的表中有三个字段:DATE,SERVER,IO。我从服务器数组中获取上述文件和SERVER输出中的DATE和IO:

<?php
chdir('c:/php');

include('Net/SSH2.php');

$servers=array('ServerA','ServerB);
foreach ($servers as &$value1) {

    $server=$value1.".example.net";
    ##echo "$server\n";
    $ssh = new Net_SSH2($server);
        if (!$ssh->login('user', 'passwd')) {

            continue;
            ##exit('Login Failed');
        }
        $file_name="/system.out";
        $line= $ssh->exec("tail -30 file_name");
        $rawLines = explode("\n", $line);
        $lines = array();
    foreach($rawLines as $rawLine){
        $rawLine = trim($rawLine);
        $parts = explode(" ", $rawLine); 
        $lines[] = $parts;
     $conn=odbc_connect('odbc_id','user','passd');
        if (!$conn)
        {exit("Connection Failed: " . $conn);}
        foreach ($lines as $value) {
        $value[0] = '\''.$value[0] .'\'';
        $value[0]='to_date('.$value[0].','.'\'YYYY-MM-DD-HH24.MI.SS\')';
            $new_value = array();
            $new_value[0]=$value[0];
            $new_value[1]="'".$value1."'";
            $new_value[2]=$value[1].')';
            $sql="insert into DB_IO T (T.\"DATE\", T.SERVER, T.IO) VALUES (";
            //print($sql."\n");
            $my_array= implode(",", $new_value);
            print($my_array."\n");
            $sql = $sql.$my_array;
            echo($sql."\n");

            $prepare = odbc_prepare($conn, $sql);
            $rs=odbc_execute($prepare);
        }
    }
}
odbc_close($conn);
exit;
?>

看起来这个脚本试图多次插入同一行。我需要尝试一次插入一行。任何想法,我在这里做错了什么?我在这里需要帮助。

0 个答案:

没有答案