set_charset('utf8'); if ($mysqli->connect_error) { die("Ошибка подключения: " . $mysqli->connect_error); } $stmt = $mysqli->prepare(" SELECT m.modcommentsid, m.commentcontent, m.related_to, m.channel, m.customer, m.userid, e.smownerid, e.deleted, e.setype, e.createdtime FROM vtiger_modcomments m INNER JOIN vtiger_crmentity e ON e.crmid = m.modcommentsid WHERE m.related_to = ? ORDER BY m.modcommentsid DESC LIMIT 10 "); $stmt->bind_param('i', $contact_id); $stmt->execute(); $result = $stmt->get_result(); echo "Комментарии для contact_id={$contact_id} (через mysqli):\n"; echo str_repeat('=', 70) . "\n\n"; if ($result->num_rows === 0) { echo "❌ Записей НЕТ.\n"; exit; } echo "✅ Найдено записей: {$result->num_rows}\n\n"; $i = 0; while ($row = $result->fetch_assoc()) { echo "--- Запись #{$i} ---\n"; echo "modcommentsid: {$row['modcommentsid']}\n"; echo " deleted: " . ($row['deleted'] ?? 'NULL') . "\n"; echo " setype: {$row['setype']}\n"; echo " channel: " . ($row['channel'] ?? 'NULL') . "\n"; echo " smownerid: {$row['smownerid']}\n"; echo " customer: {$row['customer']}\n"; echo " userid: {$row['userid']}\n"; echo " createdtime: {$row['createdtime']}\n"; echo " text: " . mb_substr($row['commentcontent'], 0, 60, 'UTF-8') . "...\n"; echo "\n"; $i++; } // Проверка modcommentscf $stmt2 = $mysqli->prepare(" SELECT m.modcommentsid FROM vtiger_modcomments m LEFT JOIN vtiger_modcommentscf c ON c.modcommentsid = m.modcommentsid WHERE m.related_to = ? AND c.modcommentsid IS NULL LIMIT 10 "); $stmt2->bind_param('i', $contact_id); $stmt2->execute(); $result2 = $stmt2->get_result(); echo str_repeat('=', 70) . "\n"; if ($result2->num_rows > 0) { echo "⚠️ ВНИМАНИЕ: Комментарии БЕЗ строки в vtiger_modcommentscf: {$result2->num_rows}\n\n"; while ($row = $result2->fetch_assoc()) { echo " - modcommentsid: {$row['modcommentsid']}\n"; } } else { echo "✅ Все комментарии есть в vtiger_modcommentscf.\n"; } $mysqli->close();