如何使用laravel将刮取的数据发送到mysql表

kqhtkvqz  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(424)

我用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];  
    }

谢谢你的帮助!!!
顺便说一下,我用的是Laravel5.7。

dauxcl2d

dauxcl2d1#

据我所知,您可以将数据添加到常规表中
首先,您可以创建一个表(根据注解,您已经完成了)
然后将配置添加到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);

(请参见使用laravel同时插入多个记录)

相关问题