Невозможно отправить переменную через Angular 5 HttpClient Post, чтобы вставить ее в базу данных с помощью переполнения стека

Я хочу вставить поле в моей базе данных, используя Angular 5 и PHP.

Я начал с добавления новой функции в моем api.ts файл:

public partnerName: String;
constructor(private http: HttpClient){ }

addPartners(partnerName)
{
return this.http.post('http://aff.local/addPartners.php', this.partnerName).pipe(map(
res=>{
console.log(res)
}
))
}

Эта функция будет принимать значение из текстового поля и отправлять его в файл php, используя следующий скрипт:

public function addPartner($partner_name){
global $conn;
$addParner = "INSERT INTO partner(partner_name, partner_image) VALUES(:partner_name, '')";
$execAddPartner = $conn->prepare($addParner);
$execAddPartner->bindValue(":partner_name", $partner_name);
$execAddPartner->execute();

return true;
}

И я буду запускать функцию в URL, указанный в моем .post функция:

<?php
require_once('affiliatePartner.php');
$partnerName = $_POST['partnerName'];
$aff = new affiliatePartner;

$result = $aff->addPartner($partnerName);
echo $result;
?>

Теперь, когда нажата кнопка подписки, я запускаю функцию:

addPartner(){
this.email = this.subscribeForm.get('emailTxt').value;
this.api.addPartners(this.email).subscribe(
(data)=>{
console.log(data);
},
(error)=>{
console.log(error)
}
);
}

В этом методе я вызываю метод addPartner () из моего файла API, который я уже импортировал в файл component.ts.

В части HTML у меня есть кнопка:

<button [disabled]="subscribeForm.invalid"class="btn btn-primary btn-md" type="submit"(click)="addPartner();">Subscribe
<span class="glyphicon glyphicon-signin">

<input
type="email"id="email"class="form-control input-sm chat-input mr-sm-2 text-warning font-weight-bold fontSizeSubs"placeholder="Email"formControlName="emailTxt">

Когда я нажимаю на кнопку, у меня появляется ошибка на стороне сервера:

(!) Неустранимая ошибка: необработанное исключение ‘PDOException’ с сообщением
‘SQLSTATE [23000]: нарушение ограничения целостности: столбец 1048
‘partner_name’ не может быть нулевым ‘в
C: \ wamp64 \ www \ aff \ affiliatePartner.php в строке 28

Это означает, что переменная вообще не отправляется Angular. Итак, проблема в том, как отправить переменную в скрипт php.

В консоли у меня было это сообщение, когда я нажимал кнопку:

HttpErrorResponse {headers: HttpHeaders, status: 200, statusText:
«ОК», URL: «Http: //aff.local/addPartner.php«Хорошо, ложь, …}

введите описание изображения здесь

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector