下記のURLのh2タグの中身を全部取得してMySQLに一括Insertしたいと考えていますが、
この形だと最後の「Tokyo」だけしかMySQLに登録されないです。
https://pythonhow.com/example.html
function.php <?php function getH2($url) { $html = file_get_contents($url); $html = mb_convert_encoding($html, mb_internal_encoding(), "auto"); if(preg_match_all('/<h2>(.*?)</h2>/i', $html, $matches)) { foreach($matches[1] as $key => $h2) { echo $h2; } } else { echo false; } $connection =mysqli_connect('localhost', 'root', '', 'getH2'); // if($connection) { // // echo "We are connected"; // // } else { // // die("Database connection failed"); // $query = "INSERT INTO tagName (h2) "; $query.= "VALUES ('$h2')"; $result = mysqli_query($connection, $query); if(!$result) { die('Query FAILED' . mysqli_error()); } } ?>
go.php <?php include "function.php"; echo getH2("https://pythonhow.com/example.html") . "<br>"; ?>
go.phpを叩く。
結果 LondonParisTokyo
結果DB(idはオートインクリメントです)
id | h2 |
---|---|
1 | Tokyo |
下記のように挿入したいのですが、どうしたら良いでしょうか?
id | h2 |
---|---|
1 | London |
2 | Paris |
3 | Tokyo |
また、このようにフォームなどを使わず一括登録する場合、
SQLインジェクション対策やクロスサイト・スクリプティング対策は
不要という解釈で良かったでしょうか?
よろしくお願いいたします。
xampp for Windows
PHP 7.1.7
mysql 15.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。