[英]Insert directory path of images in a table with FK [MySQL]
我正在尝试使用PHP-PDO在带有FK(MySQL)的表中插入图像的目录路径,但是我收到此错误:
bd-veiculos
。 fotos
,约束fk_fotos_veiculos
外键( veiculos_idveiculos
)参考mydb
。 veiculos
( idveiculos
)ON DELETE NO ACTION ON UPDATE无动作) 我正在用php构建CRUD,我有一张包含汽车信息的表格,如下所示:
我有一个名为“ AddImages”的提交按钮,当我单击它时,我正在通过POST发送要更改的汽车ID,这是我发送的php页面...
之后,我选择一些图像,然后单击提交并将信息发送到下一个php代码:
<?php
include "dbconfig.php";
if(isset($_POST['submit'])){
$id = trim(strip_tags($_POST['id']));
# INFO IMAGEM
$file = $_FILES['img'];
$numFile = count(array_filter($file['name']));
# PASTA
$folder = 'uploads';
# REQUISITOS
$permite = array('image/jpeg', 'image/png');
$maxSize = 1024 * 1024 * 5;
# MENSAGENS
$msg = array();
$errorMsg = array(
1 => 'O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.',
2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML',
3 => 'o upload do arquivo foi feito parcialmente',
4 => 'Não foi feito o upload do arquivo'
);
if($numFile <= 0)
echo 'Selecione uma Imagem!';
else{
for($i = 0; $i < $numFile; $i++){
$name = $file['name'][$i];
$type = $file['type'][$i];
$size = $file['size'][$i];
$error = $file['error'][$i];
$tmp = $file['tmp_name'][$i];
$extensao = @end(explode('.', $name));
$novoNome = rand().".$extensao";
if($error != 0)
$msg[] = "<b>$name :</b> ".$errorMsg[$error];
else if(!in_array($type, $permite))
$msg[] = "<b>$name :</b> Erro imagem não suportada!";
else if($size > $maxSize)
$msg[] = "<b>$name :</b> Erro imagem ultrapassa o limite de 5MB";
else{
if(move_uploaded_file($tmp, $folder.'/'.$novoNome)):
$msg[] = "<b>$name :</b> Upload Realizado com Sucesso!";
$imgpath[] = $folder.'/'.$novoNome;
else:
$msg[] = "<b>$name :</b> Desculpe! Ocorreu um erro...";
endif;
}
foreach($msg as $pop)
echo $pop.'<br>';
}
}
try
{
$sql = "INSERT INTO fotos (tbl_imagecar) VALUES ";
foreach ($imgpath as $path)
{
$sql .= " ('$path'),";
}
$sql = substr ($sql,0,strlen ($sql)-1);
$result = $DB_con->exec($sql);
echo "Dados criados com sucesso.<br><br>";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
<br><br>
<a href="index.php" title="">INDEX</a>
<a href="read.php" title""=>LISTAR</a>
这是我试图用来将信息放入数据库的查询:
INSERT INTO fotos SET `tbl_imagecar` = 'uploads/19350.JPG', `veiculos_idveiculos` = (SELECT idveiculos FROM veiculos WHERE idveiculos = 3
从那里我无法在我的代码中进步。 (对不起,我的英语不好)
您正在获取数据库外键冲突错误。 解决这个问题
mydb.veiculos (idveiculos)
首先需要使用相同的值(例如13232)插入/更新您要插入表字段中的值
bd-veiculos.fotos.veiculos_idveiculos
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.