2011-12-22 96 views
0

我有以下PHP代碼的輸出頁的數據庫..插入將數據輸出到網頁

include('../simple_html_dom.php'); 

     // get DOM from URL or file 

     $html = file_get_html('http://www.wine-searcher.com/merchant/852'); 

     $data=$html->find('td.firstcell'); 
     echo "Country    :". $data[0].'<br />'; 

     echo "Email    :".$data[2].'<br />'; 

     echo "Postal Address  :".$data[3].'<br />'; 

     echo "Permanent Address :".$data[4].'<br />'; 

     echo "Contact    :".$data[10].'<br />'; 

腳本的輸出值是在以如MySQL數據庫中進行插入。 對於我嘗試類似的東西..

<?php 

// example of how to use basic selector to retrieve HTML contents 

include('../simple_html_dom.php'); 

     // get DOM from URL or file 

     $html = file_get_html('http://www.wine-searcher.com/merchant/852'); 

     $data=$html->find('td.firstcell'); 
     $con = mysql_connect("localhost","user","pass"); 
     if (!$con) 
     { 
     die('Could not connect: ' . mysql_error()); 
     } 

     // Create database 
     if (mysql_query("CREATE DATABASE nt_usawine",$con)) 
     { 
     echo "Database created"; 
     } 
     else 
     { 
     echo "Error creating database: " . mysql_error(); 
     } 

     // Create table 
     mysql_select_db("nt_usawine", $con); 
     $sql = "CREATE TABLE Persons 
     (
     FirstName varchar(15), 
     LastName varchar(15), 
     Age int 
    )"; 
     // Execute query 
     mysql_query($sql,$con); 
     $foo= $data[2]; 
     mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 
     VALUES ('Peter', 'Griffin', $foo)"); 
     mysql_close($con); 


     echo "Country    :". $data[0].'<br />'; 

     echo "Email    :".$data[2].'<br />'; 

     echo "Postal Address  :".$data[3].'<br />'; 

     echo "Permanent Address :".$data[4].'<br />'; 

     echo "Contact    :".$data[10].'<br />'; 

但還是我不能得到的數據庫中的表與我的數據插入。什麼是保存數據的正確方法?

回答

0

您是否嘗試過使用mysql_error進行調試?

$query = "INSERT INTO Persons (FirstName, LastName, Age) 
      VALUES ('Peter', 'Griffin', $foo)"; 
$result = mysql_query($query); 

if (!$result) { 
    $message = 'There is an error : ' . mysql_error() . "\n"; 
    $message .= 'The query was : ' . $query; 
    die($message); 
} 

如果你有一個SQL錯誤,這將是非常有用的。

順便說你見過只有一次時間你不這樣做的mysql_query([...],$ CON),它應該添加DATAS的一次?

而且是正常的,你創建一個數據庫和表中的每一時間? (不知道你真正想做的事)

0

mysql_query();功能允許您運行一個查詢。使用INSERT語法可以插入數據。

例子:

mysql_query("INSERT INTO `table` (`column1`, `column2`) VALUES ('value1', 'value2')"); 

目前,我所看到的,你想,即使你創建一個可以存放數據firstname表中插入國家,電子郵件,郵寄地址,永久地址和聯繫方式,lastnameage ...

沒有違法,但如果你已經被困在那裏,這不是您的問題張貼在正確的地方。你甚至在考慮問之前需要搜索一些教程。 SQL查詢有很好的文檔記錄,可以在整個網絡上找到。

無論哪種方式,我太不厚道了離開回答此問題。

我建議建立在phpMyAdmin數據庫和表,而在創建腳本一個新的。這是相當低效的。

<?php 
// this is where you login to your database 
$connection = mysql_connect('localhost', 'username', 'password') or die('Could not connect: ' . mysql_error()); 

// select your EXISTING database you created. Usually there's a single database linked to your website 
mysql_select_db('database_name', $connection); 

// inserting data into table 
$success = mysql_query("INSERT INTO `table_name` (`country`, `email`, `postaladdr`, `permanentaddr`, `contact`) VALUES ('".mysql_real_escape_string($data[0])."', '".mysql_real_escape_string($data[2])."', '".mysql_real_escape_string($data[3])."', '".mysql_real_escape_string($data[4])."', '".mysql_real_escape_string($data[10])."')"); 

// check if insert was successful 
if($success) { 
    echo 'data inserted'; 
} else { 
    echo 'Something went wrong: ' . mysql_error(); 
} 

// closing database 
mysql_close($connection); 
?> 

現在,所有你需要做的就是更改登錄數據,更改database_name,創建實際的表和腳本改變table_name

這是與運行SQL查詢開始,當你學會的第一件事,所以我higly建議,以瞭解更多:http://www.w3schools.com/php/php_mysql_intro.asp

如果一切我說的話沒有任何意義,你應該點擊上面的鏈接。