Вставить выходные данные в базу данных веб-страницы - PullRequest
0 голосов
/ 22 декабря 2011

у меня есть выходная страница следующего 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 голосов
/ 22 декабря 2011

Функция mysql_query(); позволяет вам выполнить запрос.Используя синтаксис INSERT, вы можете вставить данные.

Пример:

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

В настоящее время вы видите, что вы хотите вставить страну, адрес электронной почты, почтовый адрес, постоянный адрес иконтакт, даже если вы создаете таблицу, которая может содержать данные firstname, lastname и age ...

Не обижайтесь, но если вы уже застряли там, это не то местоотправить свой вопрос.Вам нужно поискать некоторые учебники, прежде чем вы даже подумать об этом.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-запросов, поэтому я настоятельно рекомендую узнать больше: http://www.w3schools.com/php/php_mysql_intro.asp

Если все, что я сказал, не имело никакого смысла, вам следует нажать на ссылкувыше.

0 голосов
/ 22 декабря 2011

Вы пытались отладить это с помощью 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) один раз, который должен добавлять данные?

И это нормально, что вы каждый раз создаете базу данных и таблицу?(не знаю, что вы действительно хотите сделать)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...