Я пытаюсь выполнить запрос в PHP следующим образом:INSERT INTO работает в PhpMyAdmin, но не в PHP
<?php
$email = mysql_real_escape_string($_POST['email']);
if(isset($_POST['savedata'])){
$sql = "INSERT INTO registered (email)
VALUES (
'$email'
)";
$result = mysql_query($sql);
if(!$result){
echo 'something went wrong, please try again.';
echo mysql_error();
} else {
echo '<meta http-equiv="refresh" content="2; url = subscribed.php" />';
}
}
?>
Триггер для выполнения исходит из следующего вида:
<form action="" method="post">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail2">Email address</label>
<input type="email" name="email" id="email" class="form-control transparent" placeholder="Your email here...">
</div>
<input type="submit" name="submit" class="btn btn-warning btn-fill">Notify Me</input>
<input type="hidden" name="savedata" value="savedata"/>
</form>
Это хорошо работает в phpMyAdmin (конечно, я меняю адрес электронной почты на реальный адрес), но ничего не происходит в php, кроме обновления. БД не обновляется, и я проверил соединение - он работает. Просьба сообщить. Спасибо!
Я предлагаю вам прочитать вопросы инъекционного MySQL, поиск по StackOverflow о нем, как вы в противном случае будете в опасности с вашим приложением/сайтом. –
[Не используйте mysql_ * extension] (http://www.php.net/en/mysql_query), поскольку он устарел. Вместо этого используйте [PDO] (http://php.net/manual/en/book.pdo.php) или [MySQLi] (http://php.net/manual/en/book.mysqli.php). –
Я бы добавил, что вы также можете искать XSS, если это письмо поступает из неанитированного поля ввода –