我试图做到哪里有FK在表中插入,但它不工作..PHP的MySQL插入有多个外键
我的数据库名字bd_telefonos
我的数据库看起来像这样的:
表MARCAS:
idmarcas --> PK AI
nombre
表sistemas_operativos:
idsistemas_operativos -->PK AI
nombre
表telefonos:
modelo
idtelefonos --> PK AI
resolucion_alto
resolucion_ancho
peso
bateria
marcas_idmarcas --> FK
sistemas_operativos_idsistemas_operativos -- > FK
我的PHP是这样的:
<?php
include_once('conexion/conexion.php');
$con = new conectar();
$modelo= $_POST['modelo'];
$alto= $_POST['alto'];
$ancho= $_POST['ancho'];
$peso= $_POST['peso'];
$bateria= $_POST['bateria'];
$nombresis = $_POST['nombresis'];
$nombremarca = $_POST['nombremarca'];
$sSql = "INSERT INTO `bd_telefonos`.`telefonos` (`modelo`, `resolucion_alto`, `resolucion_ancho`, `peso`, `bateria`) VALUES ('$modelo', '$alto', '$ancho', '$peso', '$bateria')";
if(!mysqli_query($con->conectarse(), $sSql)){
$resp = 'error ';
}
else{
/*=============================================================================
= select recently insert =
=============================================================================*/
$sSqlId = "SELECT MAX(id) as `id` FROM `bd_telefonos`.`telefonos`";
if($respuesta = mysqli_query($con->conectarse(), $sSqlId)){
foreach ($respuesta as $resp) {
$id = $resp['id'];
}
}
/*========================================================
= Insert sistemas_operativos
========================================================*/
$sSqlMas = "INSERT INTO `bd_telefonos`.`sistemas_operativos` (`idsistemas_operativos`, `nombre`) VALUES ('$id', '$nombresis')";
if (mysqli_query($con->conectarse(), $sSqlMas)) {
$resp = 'success';
echo $resp;
} else {
$resp = 'error';
echo $resp;
}
/*========================================================
= Insert marcas
========================================================*/
$sSqlMass = "INSERT INTO `bd_telefonos`.`marcas` (`idmarcas`, `nombre`) VALUES ('$id', '$nombremarca')";
if (mysqli_query($con->conectarse(), $sSqlMass)) {
$resp = 'success';
$resp = 'error';
echo $resp;
}
}
mysqli_close($con->conectarse());
?>
它不工作,它只是没有在我的表telefonos使插入,我做错了什么?
帮助请:(
“它不工作”是一个相当不精确的是观察到的行为的描述。一些建议...使用'mysqli_error'从MySQL检索错误消息,并显示错误或记录它。此外,用于检索刚刚插入的行的id值的“select max(id)”模式将在测试中起作用,但它是并发会话的基本断点模式。该代码似乎也容易受到SQL注入的影响。 https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – spencer7593