EDITED HTML 양식과 PHP를 사용하여 MySQL 데이터베이스에 데이터를 업로드하고 있습니다. 정보를 제출하면 내가 업로드 한 이미지가 특정 폴더 (의도 한대로)로 이동하지만 데이터는 데이터베이스에 업로드되지 않습니다. 지금 대부분의 코드를 추가했는데 사이트에서 모든 것을 추가하지 못하게했습니다. 제 의견으로는 문제가있는 것과 관련이없는 라인을 삭제했습니다. 그러면 아마도 문제가 나타날 것입니다.양식을 제출할 때 MySQL 데이터베이스가 업데이트되지 않습니다.
<!DOCTYPE>
<?php
include("includes/db.php");
?>
<html>
<head>
<title>Inserting Product</title>
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script>
tinymce.init({selector:'textarea'});
</script>
</head>
<body bgcolor="grey">
<form action="insert_product.php" method="post" enctype="multipart/form-
data">
<table align="center" width="795" border="2" bgcolor="lime">
</tr>
<tr>
<td align="right"><b>Product Category:</b></td>
<td>
<select name="product_cat" >
<option>Select a Category</option>
<?php
$get_cats = "select * from categories";
$run_cats = mysqli_query($con, $get_cats);
while ($row_cats=mysqli_fetch_array($run_cats)){
$cat_id = $row_cats['cat_id'];
$cat_title = $row_cats['cat_title'];
echo "<option value='$cat_id'>$cat_title</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Product Publisher:</b></td>
<td> <select name="product_dev">
<option>Select a Publisher</option>
<?php
$get_devs = "select * from developers";
$run_devs = mysqli_query($con, $get_devs);
while ($row_devs=mysqli_fetch_array($run_devs)){
$dev_id = $row_devs['dev_id'];
$dev_title = $row_devs['dev_title'];
echo "<option value='$dev_id'>$dev_title</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Product Image:</b></td>
<td><input type="file" name="product_image" /></td>
</tr>
<tr>
<td align="right"><b>Product Price:</b></td>
<td><input type="text" name="product_price" required/></td>
</tr>
<tr>
<td align="right"><b>Product Keywords:</b></td>
<td><input type="text" name="product_keywords" size="50"
required/></td>
</tr>
<tr align="center">
<td colspan="7"><input type="submit" name="insert_post"
value="Insert Product Now"/></td>
</tr>
</table>
</form>
</body>
</html>
<?php
if(isset($_POST['insert_post'])){
$product_title = $_POST['product_title'];
$product_cat= $_POST['product_cat'];
$product_pub = $_POST['product_pub'];
$product_dev = $_POST['product_dev'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_desc'];
$product_keywords = $_POST['product_keywords'];
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];
move_uploaded_file($product_image_tmp,"product_images/$product_image");
$insert_product = "insert into products
(product_cat,product_pub,product_dev,
product_title,product_price,product_desc,product_image,
product_keywords) values ('$product_cat','$product_pub','$product_dev',
'$product_title','$product_price','$product_desc',
'$product_image','$product_keywords')";
$insert_pro = mysqli_query($con, $insert_product);
if($insert_pro){
echo "<script>alert('Product Has been inserted!')</script>";
echo "<script>window.open('index.php?insert_product','_self')
</script>";
}
}
?>
: 같은
그것은해야합니다. – Tomm
요청할 때 SQL 데이터베이스가 업데이트 될 것으로 기대하는 이유 mySql 서버에 연결하는 코드가 보이지 않습니다. 일부 부품을 무시한 경우 전체 코드를 추가하십시오. –
@Tomm 그는'$ insert_product'에'SQL' 쿼리를 가지고 있다고 생각합니다. 거기에 몇 가지 문제가 있습니다. 첫 번째는 그의 변수를 SQL에서 직접 사용하는 것입니다. 현재 사람들이 프로젝트에 SQL 주입 공격을 할 수 있기 때문에 준비된 문을 사용해야합니다. 또한 오류가 발생하면 콘솔에서 오류를 확인하십시오. 또한 데이터베이스에 연결되어 있는지 확인하십시오. – Sand