2015-09-17 184 views
0

我想從名爲domains.txt的txt文件中提取數據並將文件的內容插入到數據庫中。下面是我寫的代碼,但不是working.Please幫我從txt文件中提取數據並插入數據庫

<?php 

$conn = mysql_connect("localhost","root",""); 
if (!$conn) { 
    die("Could not connect: " . mysql_error()); 
} 
mysql_select_db("modify_domains"); 
$file = fopen("domains.txt", "r"); 

    // Read line by line until end of file 
    while (!feof($file)) { 

    // Make an array using comma as delimiter 
     $array = explode(",",fgets($file)); 
     $domain_name=$array[0]; 
     $reg_email=$array[1]; 
     $tech_email=$array[2]; 
     $billing_email=$array[3]; 
     $admin_email=$array[4]; 
     $password=$array[5]; 
    $sql = "INSERT INTO tbl_domains (domain_name, reg_email, tech_email,billing_email,admin_email,password) VALUES('".$adomain_name"','".$reg_email."',".$tech_email.",".$billing_email.",".$admin_email.",".$password.")"; 
    mysql_query($sql,$conn) or die("Could not connect: " . mysql_error()); 
    // use mysql insert query here 
} 

?> 
+0

那麼_exactly_不工作? –

+0

不工作意味着?你有任何錯誤? – Saty

+0

在SQL字符串中我可以看到你缺少一個「。」在$ adomain_name之後,再加上我認爲你的意思是$ domain_name不是$ adomain_name。我認爲你的問題實際上只是錯別字。它顯示的錯誤消息應該是你需要的全部 –

回答

0

所有文本字段必須用單引號隔開(如「‘$ reg_email。’」),不要忘了點分離文本領域和變量。

查詢應該是這樣的:

$sql = "INSERT INTO tbl_domains 
(domain_name, reg_email, tech_email,billing_email,admin_email,password) VALUES 
('".$adomain_name."','".$reg_email."','".$tech_email."','".$billing_email."','".$admin_email."','".$password."')"; 

所有文本字段必須用單引號分隔。你也可以這樣寫:

$sql = "INSERT INTO tbl_domains 
    (domain_name, reg_email, tech_email,billing_email,admin_email,password) VALUES 
    ('$adomain_name','$reg_email','$tech_email','$billing_email','$admin_email','$password')"; 
+0

謝謝你......現在插入數據通過它給我這個通知:未定義的偏移量:1在C:\ wamp \ www \ fred-test \ fred-sit \ insert-test.php在線16 – db100

+0

這必須與空行相關。您正在獲取沒有用逗號分隔的字段的行。也許最後一個? –

+0

Hello Javier,如果我想要隨機生成所有域的密碼,並將其插入數據庫的密碼字段中,而不是在文本文件中獲取已設置的密碼值,該怎麼辦?我該怎麼做? – db100

相關問題