PDO Sorgu Hatası
Merhabalar, alt kısımdaki kodumda update sorgusunda kodum takılıyor ve devam etmiyor. Hata görüntülemeyi etkinleştirdiğimde herhangi bir hata almamaktayım. Burada hatayı nerede yapıyor olabilirim ?
<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Language" content="tr">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?php
include "../../config/dbconnect.php";
try {
echo "Veritabanı bağlantısı başarılı.<br><br>";
} catch (PDOException $e) {
die("Veritabanı bağlantı hatası: " . $e->getMessage());
}
// XML dosyasının URL'si
$xml_url = '-----------';
// XML içeriğini yükle
$xml_content = simplexml_load_file($xml_url);
// Her bir item'i döngü ile işle
foreach ($xml_content->item as $item) {
$sku = $item->sku;
$miktar = $item->miktar;
$tedarikcisku = $item->tedarikcisku;
// Ekrana yazdır
echo "<b>SKU : </b> $sku <br>";
echo "<b>Stok : </b> $miktar <br>";
echo "<b>Tedarikçi SKU : </b> $tedarikcisku <br>";
if (preg_match('/\w/', $tedarikcisku)) {
echo "breakpoint 1 <br>";
$sorgu = $pdo->prepare("UPDATE supplier_itemvariants SET warehouseStock = :miktar WHERE vStockCode = :tedarikcisku");
$sorgu->bindParam(':miktar', $miktar, PDO::PARAM_STR);
$sorgu->bindParam(':tedarikcisku', $tedarikcisku, PDO::PARAM_STR);
$sorgu->execute();
} else {
echo "Tedarikçi SKU atanmamış. <br>";
}
echo "---------- <br>";
}
?>
</html>
<?php
include "../../config/dbconnect.php";
try {
// Veritabanı bağlantısını kontrol et
$pdo = new PDO(/* Veritabanı bağlantı detaylarınızı buraya ekleyin */);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Veritabanı bağlantısı başarılı.<br><br>";
// XML dosyasının URL'sini belirt
$xml_url = '-----------';
// XML içeriğini yüklerken hata işleme ekle
libxml_use_internal_errors(true);
$xml_content = simplexml_load_file($xml_url);
if (!$xml_content) {
foreach (libxml_get_errors() as $error) {
echo "XML yükleme hatası: {$error->message}<br>";
}
libxml_clear_errors();
// Hata ile başa çıkmak için gerekirse loglama yapın veya script'i sonlandırın
die();
}
// Her bir öğeyi döngü ile işle
foreach ($xml_content->item as $item) {
$sku = $item->sku;
$miktar = $item->miktar;
$tedarikcisku = $item->tedarikcisku;
// Ekrana yazdır
echo "<b>SKU : </b> $sku <br>";
echo "<b>Stok : </b> $miktar <br>";
echo "<b>Tedarikçi SKU : </b> $tedarikcisku <br>";
if (!empty($tedarikcisku)) {
echo "breakpoint 1 <br>";
// Daha iyi güvenlik için hazırlanmış ifadeler kullan
$sorgu = $pdo->prepare("UPDATE supplier_itemvariants SET warehouseStock = :miktar WHERE vStockCode = :tedarikcisku");
$sorgu->bindParam(':miktar', $miktar, PDO::PARAM_STR);
$sorgu->bindParam(':tedarikcisku', $tedarikcisku, PDO::PARAM_STR);
try {
$sorgu->execute();
} catch (PDOException $e) {
die("Sorgu hatası: " . $e->getMessage());
}
} else {
echo "Tedarikçi SKU atanmamış. <br>";
}
echo "---------- <br>";
}
} catch (PDOException $e) {
die("Veritabanı bağlantı hatası: " . $e->getMessage());
}
?>