将输出数据插入网页的数据库

时间:2011-12-22 08:10:58

标签: php phpmyadmin

我有以下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 />';

但我仍然无法插入数据库中的表格。什么是保存数据的正确方法?

2 个答案:

答案 0 :(得分: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)它曾经应该添加数据的一次吗?

每次创建数据库和表格是否正常? (不知道你真正想做什么)

答案 1 :(得分:0)

mysql_query();功能允许您运行查询。使用INSERT语法可以插入数据。

示例:

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

目前,我看到您希望插入国家/地区,电子邮件,邮寄地址,永久地址和联系人,即使您创建的表格可以保存数据firstnamelastname和{ {1}} ...

没有冒犯,但如果你已经被困在那里,这不是发布你的问题的正确位置。在考虑提问之前,您需要搜索一些教程。 SQL查询已有详细记录,可以在整个网络上找到。

无论哪种方式,我太善良了,不能回答这个问题。

我建议在PhpMyAdmin中创建数据库和表,而不是在脚本中创建一个新的数据库和表。效率很低。

age

现在,您只需更改登录数据,更改<?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

这是您在开始运行SQL查询时首先要了解的内容之一,因此我强烈建议您了解更多信息:http://www.w3schools.com/php/php_mysql_intro.asp

如果我说的一切都没有任何意义,请点击上面的链接。