我用php抓取了一些数据,我想将其从Laravel发送到Mysql。我连接到mysql,但不知道如何发送它。
这是我的抓取代码;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "laravel-test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,"https://suumo.jp/ms/shinchiku/osaka/sa_osaka/");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$sonuc = curl_exec($curl);
preg_match_all('@<div class="cassette-price">(.*?)</div>@si',$sonuc, $new);
preg_match_all('@<ul class="cassette-plan">(.*?)</ul>@si',$sonuc, $info);
preg_match_all('@<div class="cassette-header">(.*?)</div>@si',$sonuc, $name);
$name = $name[0];
$new = $new[0];
$info = $info[0];
for($i=0; $i < count($info);$i++)
{
echo $name[$i];
echo $info[$i];
echo $new[$i];
}
感谢帮助!
我正在使用laravel 5.7。
答案 0 :(得分:0)
据我了解,您可以将数据添加到常规表中
首先,您可以创建一个表(根据注释,您已经完成了该表)
然后将配置添加到Laravel [https://laravel.com/docs/5.7/database]
您的应用程序的数据库配置位于
config/database.php
。在此文件中,您可以定义所有数据库 连接,并指定应由哪个连接使用 默认。大多数受支持的数据库系统的示例是 在此文件中提供。
然后使用Laravel数据库添加数据
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
class UserController extends Controller
{
/**
* Show a list of all of the application's users.
*
* @return Response
*/
public function index()
{
for($i=0; $i < count($info);$i++)
{
DB::insert('insert into users (name, info, new)
values (?, ?, ?)', [1, $name[$i], $info[$i], $new[$i] ]);
您还可以将数据添加到数组,然后将其插入一次:
for($i=0; $i < count($info);$i++)
{
$data[] =[
'name' => $name[$i],
'info' => $info[$i],
'news' => $news[$i],
];
}
DB::insert($data);