Это, наверное, глупый вопрос.Как предотвратить запись IDE (PhpStorm) в DB при редактировании кода? И переменная призрака
Я взламываю код, переучивая mySQL и PHP. Я начинаю с простой формы и простой страницы обработки, на которой есть следующий код.
$firstName=$_GET['firstName'];
$sql = $pdo->prepare("insert into person (firstName) values (:firstName)");
$sql->bindParam(":firstName", $firstName);
$sql->execute();
Моя проблема заключается в том, что когда я изменить страницу формы или страницу обработки на всех (даже отступы или изменить одну букву текста) проверки отладчика и INSERT
заявления «пожары». Поэтому у меня есть десятки ненужных записей в БД.
Есть ли способ сделать это просто «огнем», когда я делаю фактический submit
из формы? Очевидно, я могу сломать соединение с БД, но, скорее, поражает всю точку кривой обучения, на которой я нахожусь.
Благодарен за любые мысли.
Я отправляю связанный с ним вопрос о переменной-призраке, но думал, что я должен держать их отдельно. Ghost variables in PhpStorm.
Я не могу себе представить, что PhpStorm выполняет код на редактирование. Может быть, вы обновите свою страницу, чтобы увидеть изменения? Когда вы используете 'GET' для обновления базы данных, он будет вставлять строку на каждую перезагрузку страницы. Попытайтесь изменить свой код, чтобы изменения БД выполнялись только на 'POST' –
В режиме отладки он обновляет страницы (-ы), чтобы вы могли видеть ошибки - очень полезно. Не видел, как изменение метода формы с GET на POST изменило бы ситуацию, и, к сожалению, это не имело никакого значения. SELECT, безусловно, «загорается» при любой загрузке страницы. – BeNice
@OldMauiMan Вы используете плагин LiveEdit и в отладочной сессии? Это единственное объяснение, которое я могу придумать - когда вы редактируете свою страницу, LiveEdit пытается ее обновить .. и поскольку это файл PHP, он будет повторно выполнять его. Вот почему вы должны делать то, что @GennadiyLitvinyuk заявили в своем ответе: 1) использовать только запросы 'GET' для отображения ваших данных; 2) используйте «POST» для сохранения новых/измененных данных 3), если вам нужно отображать результаты после пост-перенаправления на страницу, которая будет подана с помощью запроса «GET». – LazyOne