Невозможно вставить данные из поля ввода в БД.

  • Автор темы dev-user
  • 31
  • Обновлено
  • 16, May 2024
  • #1
Как мне вставить электронная почта_alert из ввода в БД? Я пытался $email_alert = $_POST['email_alert'];

 

<form method="post" name="job_alerts" action="/index.php">

Email Address <span class="error">* </span>: <br><input type="text" name="email_alert" value=""> <input type="submit" name="submit" value="Submit">

</form>

Код (разметка):
  $job_alert = $job_name; $area_alert = $city_name; $conn = mysqli_connect($host, $user, $pass,$dbname); if(!$conn){ die('Could not connect: '.mysqli_connect_error()); } echo 'Connected successfully<br/>'; $alerts = "INSERT INTO jobalerts (email_alert, job_alert, area_alert) VALUES ('$email_alert', '$job_alert', '$area_alert')"; if(mysqli_query($conn, $alerts)){ echo "Record inserted successfully"; }else{ echo "Could not insert record: ". mysqli_error($conn); } mysqli_close($conn); 
Код (разметка):

dev-user


Рег
05 Dec, 2012

Тем
1

Постов
2

Баллов
12
  • 05, Jun 2024
  • #2
во-первых, пообещай мне, что ты очистишь все эти переменные во-вторых, разве вам не следует делать замену переменных с помощью mysqli? но если вы собираетесь отправить полную строку, сделайте это так
 $alerts = "INSERT INTO `jobalerts` (`email_alert`, `job_alert`, `area_alert`) VALUES ('{$email_alert}', '{$job_alert}', '{$area_alert}')";
PHP: и наконец сделайте эхо в $alerts и посмотрите, что там на самом деле.

Если электронного письма нет, вернитесь к коду, пока не увидите значение, а затем выясните, как оно удаляется.
 

[email protected]


Рег
18 Oct, 2012

Тем
0

Постов
2

Баллов
2
  • 06, Jun 2024
  • #3
У меня это работает.
 

$sql2 = "SELECT email_alert, job_alert, area_alert FROM jobalerts WHERE email_alert='$email_alert' AND job_alert='$job_name' AND area_alert='$city_name'";

$result = $link->query($sql2);

if ($result->num_rows > 0) {

}else{

$sql = "INSERT INTO jobalerts (email_alert, job_alert, area_alert) VALUES ('$email_alert', '$job_name', '$city_name')";

}

Код (разметка):
 

Aleks031


Рег
23 Aug, 2015

Тем
1

Постов
3

Баллов
13
  • 10, Jun 2024
  • #4
Используя ВЫБОР? Как считать и обрабатывать рекорды? Я вижу несколько решений, использующих SELECT и последующую вставку на основе этого, но сколько бы я ни пробовал, у меня это не сработало. Он либо продолжал вставлять те же записи, либо вообще ничего не вставлял.
 

kinowapus


Рег
09 Mar, 2014

Тем
1

Постов
3

Баллов
13
  • 12, Jun 2024
  • #5
Выполните SELECT first - и если вы получите возврат 1 (что означает, что запись существует), не вставляйте - если вы получите 0, тогда вставьте. Итак, что-то вроде этого:
 
SELECT COUNT(*) FROM jobalerts WHERE email_alert = '$email_alert' AND job_name = '$job_name' AND city_name = '$city_name';
//although you should use prepared statements, not inserting blind variables into a query
PHP: затем используйте результат этого запроса, чтобы решить, вставлять новую запись или нет.
 

Iprofit


Рег
01 Aug, 2013

Тем
0

Постов
2

Баллов
2
  • 15, Jun 2024
  • #6
У меня есть еще один вопрос. Как избежать вставки повторяющихся записей? Я знаю, что в своей БД я могу установить электронная почта_alert как Основной, но это предотвратит повторный ввод того же адреса электронной почты. Я хочу, чтобы тот же адрес электронной почты был введен, пока job_alert или area_alert отличаются от введенных.
 
$alerts = "INSERT INTO jobalerts (email_alert, job_alert, area_alert) VALUES ('$email_alert', '$job_alert', '$area_alert')";
Код (разметка): Я попробовал INSERT IGNORE, но это ничего не дало.
 

abuseOFF


Рег
09 Oct, 2011

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно