Пожалуйста помоги. Я считаю, что имею разумное понимание MySql & PHP, но для жизни меня не могу понять, почему этот код вставляет одну и ту же строку дважды. Я буквально разделил его на следующий код:
<?php $query = "INSERT INTO `cs_social_alerts` (email) VALUES ('test@test.com')"; mysql_query($query); ?>
Таблица MySQL, в которую она вставлена, содержит 10 столбцов, но даже со всеми из них, упомянутыми в запросе, она по-прежнему вставляет «test@test.com» в две строки с отдельными первичными ключами.
Я создал новую страницу WordPress для ее запуска, так как все остальные страницы работают нормально без дублирования.
Я сделал некоторый Googling, который не нашел никакой какой-либо помощи. Есть ли в любом случае, я могу проверить, откуда идет второй запрос? Я снялся в вышеуказанном коде около часа и не вижу никаких проблем с этим.
Любые идеи / помощь МНОГО оценили!
благодаря
—– РЕДАКТИРОВАТЬ —–
Итак, вот результат отладки отладки, код, который выполняется, буквально является 2 строками выше – я закрыл домен для обеспечения безопасности. Может ли кто-нибудь увидеть какое-либо вмешательство? Я не эксперт по PHP и со всеми лишними материалами WordPress, я не уверен, что к чему! Спасибо, парни
$ myQuery = "INSERT INTO cs_social_alerts
(email) VALUES ('test@test.com')";
mysql_query ($ myQuery);
debug_print_backtrace ()
?>
), вызывается в [/var/sites/c/****.com/public_html/wp-content/plugins/wp-exec-php/wp-exec-php.php:692]
$ myQuery = "INSERT INTO cs_social_alerts
(email) VALUES ('test@test.com')";
mysql_query ($ myQuery);
debug_print_backtrace ()
?>
)
$ myQuery = "INSERT INTO cs_social_alerts
(email) VALUES ('test@test.com')";
mysql_query ($ myQuery);
debug_print_backtrace ()
?>
)), вызываемый в [/ var / sites / c / * .com / public_html / wp-includes / plugin.php: 192]
$ myQuery = "INSERT INTO cs_social_alerts
(email) VALUES ('test@test.com')";
mysql_query ($ myQuery);
debug_print_backtrace ()
?>
У меня была такая же проблема, и это была хромовая ошибка! Я очищаю сессии, файлы cookie, кеш, все приложения данных и работает.
Используйте функцию PHP debug_print_backtrace (), чтобы узнать, откуда вызывается ваш код.
Попробуйте объект данных PHP ( PDO ). Использование функций mysql_ * устарело.
Эти переменные инициализации должны быть определены в ini-файле, который вы используете php_parse_ini () для получения данных.
<?php $host = "host=localhost"; $name = ";dbname=name_of_db"; $user = "user"; $pass = "pass"; $conn = new PDO("mysqli:".$host.$name,$user,$pass); $stmt = $conn->prepare("INSERT INTO `cs_social_alerts` (email) VALUES (:email)"); $stmt->bindParam(':email', $email); $stmt->execute();
Кроме того, если вы хотите узнать, запускается ли этот код более одного раза. Попробуйте установить переменную $ _SESSION. IE $ _SESSION ['count'] = 0; Затем прямо перед execute () поместите $ _SESSION ['count'] ++; Наконец, выведите значение $ _SESSION в конце вашего кода, чтобы определить, что это за значение.
var_dump($_SESSION);die();
Вы пробовали другой браузер? У меня было много неприятностей, потому что некоторые расширения, которые у меня были в браузере, запрашивали страницу еще раз.
Даже если это не ваша проблема, я думаю, вы должны проверить внешние факторы, так как этот код не может вставить две строки. Если, конечно, это не называется дважды.