【发布时间】:2014-07-23 08:13:59
【问题描述】:
//这里是完整的脚本。 我需要将返回的数组结果发送到 mysql。我在 mySQL 插入函数上尝试了许多变体,但 mysql 仍然不会填充数据。 mysql中的表有列名'date','home','score','away'。我使用 xamp 作为本地主机,数据库名称:'brazil',表名:'seriea'。任何想法,将不胜感激!谢谢。
<?php
$data = array();
$html = file_get_contents('http://www.soccerstats.com/round_details.asp?league=brazil'); //get the html returned from the following url
$doc = new DOMDocument();
libxml_use_internal_errors(true);
if(!empty($html)){
$doc->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">'.$html);
libxml_clear_errors();
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//table[@class="stat"]');
foreach($entries as $key => $value) {
$data[] = array(
'date' => trim($value->getElementsByTagName('font')->item(0)->nodeValue),
'home' => trim($value->getElementsByTagName('font')->item(1)->nodeValue),
'score' => trim($value->getElementsByTagName('font')->item(2)->nodeValue),
'away' => trim($value->getElementsByTagName('font')->item(3)->nodeValue),
);
}
}
echo "<pre>";
print_r($data);
echo "</pre>";
// Create connection
$con=mysqli_connect("***","***","***");
mysqli_select_db('brazil', $con);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
$date = $_POST['date'];
$home = $_POST['home'];
$score = $_POST['score'];
$away = $_POST['away'];
$sql="INSERT INTO seriea (date, home, score, away) VALUES ('$date','$home','$score','$away')";
if (!mysqli_query($sql,$con))
{
die('Error: ' . mysqli_error());
}
else{
echo "1 record added";
}
}
mysqli_close($con);
?>
//输出到mysql//
Array
(
[0] => Array
(
[date] => 1 Jun 14
[home] => Â FluminenseÂ
[score] => 1 - 1
[away] => Â InternacionalÂ
)
[1] => Array
(
[date] => 1 Jun 14
[home] =>  VitóriaÂ
[score] => 0 - 1
[away] => Â Sport RecifeÂ
)
[2] => Array
(
[date] => 1 Jun 14
[home] => Â CorinthiansÂ
[score] => 1 - 1
[away] => Â BotafogoÂ
)
[3] => Array
(
[date] => 1 Jun 14
[home] => Â ChapecoenseÂ
[score] => 2 - 1
[away] => Â BahiaÂ
)
[4] => Array
(
[date] => 1 Jun 14
[home] => Â CruzeiroÂ
[score] => 3 - 0
[away] => Â FlamengoÂ
)
[5] => Array
(
[date] => 1 Jun 14
[home] => Â SantosÂ
[score] => 2 - 0
[away] =>  CriciúmaÂ
)
[6] => Array
(
[date] => 1 Jun 14
[home] =>  GrêmioÂ
[score] => 0 - 0
[away] => Â PalmeirasÂ
)
[7] => Array
(
[date] => 1 Jun 14
[home] => Â FigueirenseÂ
[score] => 1 - 3
[away] =>  Atlético PRÂ
)
[8] => Array
(
[date] => 31 May 14
[home] =>  São PauloÂ
[score] => 2 - 1
[away] =>  Atlético MGÂ
)
[9] => Array
(
[date] => 31 May 14
[home] => Â CoritibaÂ
[score] => 3 - 0
[away] =>  GoiásÂ
)
[10] => Array
(
[date] => 30 May 14
[home] => Â BahiaÂ
[score] => 0 - 2
[away] => Â SantosÂ
)
[11] => Array
(
[date] => 29 May 14
[home] => Â InternacionalÂ
[score] => 2 - 0
[away] => Â ChapecoenseÂ
)
[12] => Array
(
[date] => 29 May 14
[home] => Â FlamengoÂ
[score] => 1 - 1
[away] => Â FigueirenseÂ
)
[13] => Array
(
[date] => 29 May 14
[home] =>  Atlético MGÂ
[score] => 2 - 0
[away] => Â FluminenseÂ
)
[14] => Array
(
[date] => 29 May 14
[home] =>  Atlético PRÂ
[score] => 2 - 2
[away] =>  São PauloÂ
)
[15] => Array
(
[date] => 29 May 14
[home] => Â CorinthiansÂ
[score] => 1 - 0
[away] => Â CruzeiroÂ
)
[16] => Array
(
[date] => 29 May 14
[home] =>  GoiásÂ
[score] => 0 - 0
[away] =>  VitóriaÂ
)
)
【问题讨论】:
-
它仍然无法工作 - 准确、简洁且完全没用。解释什么不起作用,以及正在发生什么。哦 - 而且不要混用对
mysql_*()和mysqli_*()的调用。只需使用mysqli_*()。 -
你好,你为什么使用
$_POST?数据在$data
标签: php mysql phpmyadmin sql-insert