connect_error) { die('Blad polaczenia: ' . $conn->connect_error); } $conn->set_charset('utf8mb4'); $sql = "CREATE TABLE IF NOT EXISTS wp_price_history ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, post_id BIGINT UNSIGNED NOT NULL, price VARCHAR(50) NOT NULL DEFAULT '', price_m2 VARCHAR(50) NOT NULL DEFAULT '', floor_space VARCHAR(50) NOT NULL DEFAULT '', recorded_at DATE NOT NULL, PRIMARY KEY (id), UNIQUE KEY unique_daily (post_id, recorded_at), KEY idx_post_id (post_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"; if ($conn->query($sql)) { echo "OK: Tabela wp_price_history utworzona lub juz istnieje.\n"; } else { echo "BLAD: " . $conn->error . "\n"; } // Sprawdz czy tabela istnieje $r = $conn->query("SHOW TABLES LIKE 'wp_price_history'"); echo "Tabela w bazie: " . ($r->num_rows > 0 ? "TAK" : "NIE") . "\n"; // Opisz strukturę $r2 = $conn->query("DESCRIBE wp_price_history"); echo "\nStruktura tabeli:\n"; while ($row = $r2->fetch_assoc()) { echo " " . $row['Field'] . " | " . $row['Type'] . " | " . $row['Key'] . "\n"; } // Test INSERT IGNORE z danymi apartamentu 203 $today = date('Y-m-d'); $conn->query("INSERT IGNORE INTO wp_price_history (post_id, price, price_m2, floor_space, recorded_at) VALUES (203, '677 920', '19 000', '35,68', '$today')"); echo "\nINSERT IGNORE dla apt 203 (dzisiaj): affected_rows=" . $conn->affected_rows . "\n"; // Powtorzenie — powinno byc 0 (IGNORE) $conn->query("INSERT IGNORE INTO wp_price_history (post_id, price, price_m2, floor_space, recorded_at) VALUES (203, '677 920', '19 000', '35,68', '$today')"); echo "Powtorny INSERT IGNORE (powinno byc 0): affected_rows=" . $conn->affected_rows . "\n"; // Pokaz rekordy $r3 = $conn->query("SELECT * FROM wp_price_history LIMIT 5"); echo "\nRekordy w tabeli:\n"; while ($row = $r3->fetch_assoc()) { echo " ID=" . $row['id'] . " | post_id=" . $row['post_id'] . " | price=" . $row['price'] . " | date=" . $row['recorded_at'] . "\n"; } $conn->close();