113 lines
3.7 KiB
PHP
113 lines
3.7 KiB
PHP
|
|
<?php
|
|||
|
|
/**
|
|||
|
|
* Проверка конкретного комментария по ID
|
|||
|
|
* Вызов: https://crm.clientright.ru/scripts/check_specific_comment.php?id=519716
|
|||
|
|
*/
|
|||
|
|
error_reporting(E_ALL);
|
|||
|
|
ini_set('display_errors', '1');
|
|||
|
|
header('Content-Type: text/plain; charset=utf-8');
|
|||
|
|
|
|||
|
|
chdir(dirname(__DIR__));
|
|||
|
|
require_once 'config.inc.php';
|
|||
|
|
|
|||
|
|
$comment_id = isset($_GET['id']) ? (int)$_GET['id'] : 519716;
|
|||
|
|
|
|||
|
|
// Прямое подключение к БД
|
|||
|
|
$mysqli = new mysqli($dbconfig['db_hostname'], $dbconfig['db_username'], $dbconfig['db_password'], $dbconfig['db_name']);
|
|||
|
|
$mysqli->set_charset('utf8');
|
|||
|
|
|
|||
|
|
if ($mysqli->connect_error) {
|
|||
|
|
die("Ошибка подключения: " . $mysqli->connect_error);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "Проверка комментария ID={$comment_id}\n";
|
|||
|
|
echo str_repeat('=', 70) . "\n\n";
|
|||
|
|
|
|||
|
|
// 1. Проверка vtiger_crmentity
|
|||
|
|
$stmt = $mysqli->prepare("SELECT * FROM vtiger_crmentity WHERE crmid = ?");
|
|||
|
|
$stmt->bind_param('i', $comment_id);
|
|||
|
|
$stmt->execute();
|
|||
|
|
$result = $stmt->get_result();
|
|||
|
|
|
|||
|
|
if ($result->num_rows === 0) {
|
|||
|
|
echo "❌ Запись в vtiger_crmentity НЕ НАЙДЕНА!\n";
|
|||
|
|
} else {
|
|||
|
|
echo "✅ vtiger_crmentity:\n";
|
|||
|
|
$row = $result->fetch_assoc();
|
|||
|
|
foreach ($row as $key => $value) {
|
|||
|
|
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
echo "\n";
|
|||
|
|
|
|||
|
|
// 2. Проверка vtiger_modcomments
|
|||
|
|
$stmt = $mysqli->prepare("SELECT * FROM vtiger_modcomments WHERE modcommentsid = ?");
|
|||
|
|
$stmt->bind_param('i', $comment_id);
|
|||
|
|
$stmt->execute();
|
|||
|
|
$result = $stmt->get_result();
|
|||
|
|
|
|||
|
|
if ($result->num_rows === 0) {
|
|||
|
|
echo "❌ Запись в vtiger_modcomments НЕ НАЙДЕНА!\n";
|
|||
|
|
} else {
|
|||
|
|
echo "✅ vtiger_modcomments:\n";
|
|||
|
|
$row = $result->fetch_assoc();
|
|||
|
|
foreach ($row as $key => $value) {
|
|||
|
|
if ($key === 'commentcontent') {
|
|||
|
|
echo " {$key}: " . mb_substr($value, 0, 100, 'UTF-8') . "...\n";
|
|||
|
|
} else {
|
|||
|
|
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
echo "\n";
|
|||
|
|
|
|||
|
|
// 3. Проверка vtiger_modcommentscf
|
|||
|
|
$stmt = $mysqli->prepare("SELECT * FROM vtiger_modcommentscf WHERE modcommentsid = ?");
|
|||
|
|
$stmt->bind_param('i', $comment_id);
|
|||
|
|
$stmt->execute();
|
|||
|
|
$result = $stmt->get_result();
|
|||
|
|
|
|||
|
|
if ($result->num_rows === 0) {
|
|||
|
|
echo "❌ Запись в vtiger_modcommentscf НЕ НАЙДЕНА!\n";
|
|||
|
|
} else {
|
|||
|
|
echo "✅ vtiger_modcommentscf:\n";
|
|||
|
|
$row = $result->fetch_assoc();
|
|||
|
|
foreach ($row as $key => $value) {
|
|||
|
|
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
echo "\n";
|
|||
|
|
|
|||
|
|
// 4. Попытка выборки с JOIN (как в CRM)
|
|||
|
|
$stmt = $mysqli->prepare("
|
|||
|
|
SELECT m.modcommentsid, m.commentcontent, m.related_to, m.channel,
|
|||
|
|
e.smownerid, e.deleted, e.setype
|
|||
|
|
FROM vtiger_modcomments m
|
|||
|
|
INNER JOIN vtiger_crmentity e ON e.crmid = m.modcommentsid
|
|||
|
|
INNER JOIN vtiger_modcommentscf c ON c.modcommentsid = m.modcommentsid
|
|||
|
|
WHERE m.modcommentsid = ? AND e.deleted = 0
|
|||
|
|
");
|
|||
|
|
$stmt->bind_param('i', $comment_id);
|
|||
|
|
$stmt->execute();
|
|||
|
|
$result = $stmt->get_result();
|
|||
|
|
|
|||
|
|
echo str_repeat('=', 70) . "\n";
|
|||
|
|
if ($result->num_rows === 0) {
|
|||
|
|
echo "❌ С JOIN (как в CRM) — комментарий НЕ ПОПАДАЕТ в выборку!\n";
|
|||
|
|
echo " Возможные причины:\n";
|
|||
|
|
echo " - deleted = 1 в vtiger_crmentity\n";
|
|||
|
|
echo " - Нет записи в vtiger_modcommentscf\n";
|
|||
|
|
} else {
|
|||
|
|
echo "✅ С JOIN (как в CRM) — комментарий НАЙДЕН:\n";
|
|||
|
|
$row = $result->fetch_assoc();
|
|||
|
|
foreach ($row as $key => $value) {
|
|||
|
|
if ($key === 'commentcontent') {
|
|||
|
|
echo " {$key}: " . mb_substr($value, 0, 100, 'UTF-8') . "...\n";
|
|||
|
|
} else {
|
|||
|
|
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$mysqli->close();
|