mysql - 在mysql中插入数据
问题描述
我无法使用角度将数据插入 mysql。如果我想在 mysql 中获取数据,它可以正常工作,但这不起作用。
我看不到错误。你能帮助我吗?
这是我的 html 表单:
<form #suscribir="ngForm">
<div class="modal-body bodycolabora">
<label class="labelmodal">Recibe nuestros correos para estar al tanto de los últimos post y recursos subidos.</label>
<div class="md-form mb-2">
<label class="labelmodal">Tu nombre*</label>
<input class="form-control" type="text" name="nombre" class="input" placeholder="Tu nombre" [(ngModel)]="datos.nombre" required minlength="3" #nameInput="ngModel">
</div>
<div *ngIf="nameInput.invalid && (nameInput.dirty || nameInput.touched)"
class="alert alert-danger">
<div *ngIf="nameInput.errors.required">
Escribe tu nombre.
</div>
<div *ngIf="nameInput.errors.minlength">
Name must be at least 4 characters long.
</div>
</div>
<div class="md-form mb-2">
<label class="labelmodal">Email*</label>
<input class="form-control" type="email" name="email" class="input" placeholder="Tu email" [(ngModel)]="datos.email" required email #emailInput="ngModel">
</div>
<div *ngIf="emailInput.invalid && (emailInput.dirty || emailInput.touched)"
class="alert alert-danger">
<div *ngIf="emailInput.errors.required">
Escribe tu email.
</div>
</div>
<!--Privacidad-->
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="aceptopolitica" name="privacidad" value="acepto" ngModel required #privacidadInput="ngModel">
<label class="labelmodal" class="form-check-label" for="infantil" name="etapa" >Acepto la Política de privacidad</label>
</div>
<div *ngIf="privacidadInput.invalid && (privacidadInput.dirty || privacidadInput.touched)"
class="alert alert-danger">
<div *ngIf="privacidadInput.errors.required">
Acepta la política de privacidad
</div>
</div>
</div>
<div class="modal-footer footercolabora d-flex justify-content-center">
<button (click)="suscriptores()" value="Nuevo suscriptor" type="submit" name="submit" id="submit" class="btn btncolabora" [disabled]="suscribir.invalid">Enviar →</button>
</div>
</form>
在我的 component.ts 我有:
datos={
nombre:null,
email:null
}
constructor(private articulosServicio: ServicioService) {
}
suscriptores() {
this.articulosServicio.suscriptores(this.datos).subscribe(datos => {
if (datos['resultado']=='OK') {
alert(datos['mensaje']);
}
});
在 service.ts 中:
url='http://xxxxxxxxxxx/'; //
constructor(private http: HttpClient) { }
suscriptores(datos) {
return this.http.post(`${this.url}suscriptores.php`, JSON.stringify(datos));
}
最后是file.php,
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Content-Type: application/json');
$json = file_get_contents('php://input');
$params = json_decode($json);
require("conexion.php");
$con=retornarConexion();
$email = mysqli_real_escape_string($con, $params->email);
$nombre = mysqli_real_escape_string($con, $params->nombre);
$query= 'INSERT INTO newsletter(email, nombre) VALUES ("' . $email . '","'. $nombre .'")';
if(mysqli_query($con, $query))
{
class Result {}
$response = new Result();
$response->resultado = 'OK';
$response->mensaje = 'datos grabados';
}
else
{
class Result {}
$response = new Result();
$response->resultado = 'OK';
$response->mensaje = 'datos grabados';
}
header('Content-Type: application/json');
echo json_encode($response);
?>
抱歉所有代码,但我认为您可能需要 id 才能看到错误
解决方案
推荐阅读
- typescript - 导入反射元数据时无法编译 TypeScript
- vb.net - 将包含名称的文本文件加载到文本框
- checkbox - Xamarin 窗体为 CheckBox 控件创建 Clicked 事件
- selenium - 无法从登录弹出页面传递到 Selenium 中的密码弹出页面
- unity3d - Unity输入字段未在更改时设置值
- android - 避免将 null 作为视图根传递(在 AlertDialog 中膨胀布局时)
- javascript - Github 高严重性安全漏洞:带有 Node.js 应用程序的 GHSA-7fhm-mqm4-2wp7
- css - 如何保持具有动态内容的元素的圆形形状?
- html - HTML a 无法更改大小或移动
- wordpress - Unable to create directory wp-content/uploads/2020/03. Is its parent directory writable by the server?