두 테이블에 데이터를 삽입하는이 프로세스가 있고 잘 작동하지만 업로드 및 쿼리를 위해 3 개의 이미지를 선택한 경우와 양식을 제출할 때 문제가 발생합니다. 내가 데이터베이스에서 3 쿼리 삽입을 참조하고 투어에서 동일한 ID를 가진 3 테이블 삽입 및 3 삽입해야합니다 : (pid
) 행에서 동일한 ID와 이미지 경로에 대한 테이블 poze_articol
.. 뭔가 잘못되었습니다 여기에 뭔가가 잘못되었습니다삽입 pdo 쿼리 문제, 잘못된 테이블에 여러 삽입
PHP 코드 :
<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST['addtour']))
{
#### START FROM HERE I THINK IS THE PROBLEM ###
define ("MAX_SIZE","9000");
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$valid_formats = array("jpg", "png", "bmp","jpeg");
$uploaddir = "../../../img/carousel/"; //image upload directory
foreach ($_FILES['photos']['name'] as $name => $value)
{
$filename = stripslashes($_FILES['photos']['name'][$name]);
$size=filesize($_FILES['photos']['tmp_name'][$name]);
//get the extension of the file in a lower case format
$ext = getExtension($filename);
$ext = strtolower($ext);
if(in_array($ext,$valid_formats))
{
if ($size < (MAX_SIZE*1024))
{
$image_name=time().$filename;
$newname=$uploaddir.$image_name;
if (move_uploaded_file($_FILES['photos']['tmp_name'][$name], $newname))
{
$sql2 = "INSERT INTO tours (titlu,durata,descriere,pret,ribbon,titlu_slider,desc_slider,descriere_box,titlu_box1,desc_box1,titlu_box2,desc_box2,titlu_box3,desc_box3,titlu_box4,desc_box4) VALUES (
'".$_POST["oras_caseta"]."',
'".$_POST["durata_caseta"]."',
'".$_POST["descriere_caseta"]."',
'".$_POST["pret_caseta"]."',
'".$_POST["icon_caseta"]."',
'".$_POST["titlu_slider"]."',
'".$_POST["descriere_slider"]."',
'".$_POST["descriere_overview"]."',
'".$_POST["titlu_box1"]."',
'".$_POST["desc_box1"]."',
'".$_POST["titlu_box2"]."',
'".$_POST["desc_box2"]."',
'".$_POST["titlu_box3"]."',
'".$_POST["desc_box3"]."',
'".$_POST["titlu_box4"]."',
'".$_POST["desc_box4"]."')";
if ($conn->query($sql2) === TRUE) {
$last_id = $conn->insert_id;
echo '<div class="alert alert-success" role="alert">
<strong>Bravo!</strong> Ai adaugat cu succes un traseu pe site.
</div>';
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$sql = "INSERT INTO poze_articol (poza_articol,pid) VALUES ('img/carousel/$image_name','$last_id')";
if ($conn->query($sql) === TRUE) {}
}
}
}
}
}
$conn->close();
?>
그래서, 문제가 무엇 루프 할 수 있습니까? 지금 무슨 일이 일어나고있는거야? –
내가 coret 방식을 제출하면 테이블 '투어'단 하나의 쿼리와 테이블 poze_articol, 하나, 둘, 셋 또는 얼마나 많은 사진을 내가 투어 테이블에서 동일한 ID로 삽입하도록 선택했는지 제출하는 것입니다. 다른 ID로 모두를 삽입하고 있습니다 .. – Alex