我試圖做到哪裏有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