preg_match_all ile istediğim kısımları alıyor echo ile yazdırınca doğru bir şekilde 25 kaydı alt alta yazıyor. Buraya kadar sorun yok. Ama bu 25 kaydı veritabanına insert etmek istiyorum. Olmuyor.
// Data Parse preg_match_all('@<div class="photo-box photo-box--interactive" data-photo-id=(.*?)>@si',$site,$mydata); for ($a=0; $a<count($mydata[1]); $a++){ echo $mydata[1][$a].'<br>';
$value = mysqli_real_escape_string($link, $mydata[1][$a]); mysqli_query($link,"INSERT INTO image_list (image_id) VALUES ('".$value."')") or die(mysqli_error($link)); }
Aşağıdaki kod ile çözdüm. İşinize yarayabilir.
... //VERİ TABANI BAĞLANTISI YAPMALISINIZ
function siteConnect($site) { global $conn; $ch = curl_init(); $hc = "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; Yahoo! Search - Web Search)"; curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com'); curl_setopt($ch, CURLOPT_URL, $site); curl_setopt($ch, CURLOPT_USERAGENT, $hc); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $site = curl_exec($ch); curl_close($ch);
// Data Parse preg_match_all('@<div class="photo-box photo-box--interactive" data-photo-id=(.*?)>@si',$site,$mydata);
for ($a=0; $a<count($mydata[1]); $a++){ $value = mysqli_real_escape_string($conn, $mydata[1][$a]); mysqli_query($conn,"INSERT INTO tablom (business_id, businesname, yelp, image_id) VALUES ('1', '12', '123', '".$value."')") or die(mysqli_error($conn));