Php mysql aynı değere sahip olanı kaydettirmemek
8
●146
- 19-12-2024, 19:45:56
// Veritabanı bağlantısı $conn = new mysqli("localhost", "username", "password", "database"); // Hata kontrolü if ($conn->connect_error) { die("Bağlantı hatası: " . $conn->connect_error); } // JSON verisi $json_data = '{"unique_key":"12345","name":"Test"}'; $data = json_decode($json_data, true); // Değerleri alma $unique_key = $data['unique_key']; $veri = json_encode($data); // Sorgu $sql = "INSERT INTO json_veriler (unique_key, veri) VALUES (?, ?) ON DUPLICATE KEY UPDATE veri = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("sss", $unique_key, $veri, $veri); if ($stmt->execute()) { echo "Veri kaydedildi veya güncellendi."; } else { echo "Hata: " . $stmt->error; } $stmt->close(); $conn->close(); - 19-12-2024, 19:46:20veya :
// Veritabanı bağlantısı $conn = new mysqli("localhost", "username", "password", "database"); // Hata kontrolü if ($conn->connect_error) { die("Bağlantı hatası: " . $conn->connect_error); } // JSON verisi $json_data = '{"unique_key":"12345","name":"Test"}'; $data = json_decode($json_data, true); // Değerleri alma $unique_key = $data['unique_key']; $veri = json_encode($data); // Veritabanında kontrol $sql_check = "SELECT COUNT(*) AS count FROM json_veriler WHERE unique_key = ?"; $stmt_check = $conn->prepare($sql_check); $stmt_check->bind_param("s", $unique_key); $stmt_check->execute(); $result = $stmt_check->get_result(); $row = $result->fetch_assoc(); if ($row['count'] == 0) { // Veri ekleme $sql_insert = "INSERT INTO json_veriler (unique_key, veri) VALUES (?, ?)"; $stmt_insert = $conn->prepare($sql_insert); $stmt_insert->bind_param("ss", $unique_key, $veri); if ($stmt_insert->execute()) { echo "Veri başarıyla kaydedildi."; } else { echo "Hata: " . $stmt_insert->error; } $stmt_insert->close(); } else { echo "Bu veri zaten mevcut."; } $stmt_check->close(); $conn->close(); - 19-12-2024, 20:04:52İlgili kolona unique indexi atayın. Mysql aynı veri varsa kaydetme sırasında hata verip veriyi kaydetmeyecektir. Diğer yöntem ise SELECT EXISTS(SELECT 1 FROM veriler WHERE json_data='{$json_data}'); gibi bir sorgu ile veri kontrolü yapıp veri varsa es geçmek.
- 19-12-2024, 20:08:03Yönetici onayı bekliyorkazimolmez adlı üyeden alıntı: mesajı görüntüle
unique index'i neredennasıl atacağım phpmyadmin panelinden mi? - 19-12-2024, 20:09:39Evet, tablonun yapı bölümünden ilgili kolonun en sağında bulunan seçeneklerin içinde bulabilirsiniz.eda03 adlı üyeden alıntı: mesajı görüntüle

- 19-12-2024, 20:12:13Yönetici onayı bekliyorTeşekkür ederim sorunum çözüldükazimolmez adlı üyeden alıntı: mesajı görüntüle

