【发布时间】:2014-11-12 18:27:18
【问题描述】:
谁能帮我解决这个问题,我已经多次检查 SQL 表名,但每次我尝试发布它都会给我一个错误。对此很新。提前致谢。
require_once('connect.php');
if (isset($_POST['add_product'])):
$product_description=$_POST['product_description'];
$price=$_POST['price'];
$reorder_level=$_POST['reorder_level'];
$current_level=$_POST['current_level'];
$imagename = $_FILES['image']['name'];
$add_this = "products/$imagename";
move_uploaded_file($_FILES['image']['tmp_name'],$add_this);
$my_query="INSERT INTO products VALUES ('','$product_description','$price','$reorder_level','$current_level', '$imagename')";
$result= mysqli_query($connection, $my_query);
if ($result):
echo "<b>Item Successfully Added!</b>";
echo "File ";
echo $_FILES['image']['name'];
echo " was uploaded - ";
echo $_FILES['image']['size'];
echo " bytes in size<br>Temporary name: ";
echo $_FILES['image']['tmp_name'];
echo " - file type: ";
echo $_FILES['image']['type'];
else:
echo "<b>ERROR: unable to post.</b>";
endif;
endif;
require_once 'header1.php';
?>
这是我使用的表单
<H1>Add a New Product</H1>
<table>
<form method=post action="addproduct.php" enctype="multipart/form-data">
<tr><td><b>Product Description:</b><td><input type="text" name="product_description" size="30">
<tr><td><b>Price:</b><td><input type="text" name="price">
<tr><td><b>Re Order Level:</b><td><input type="text" name="reorder_level">
<tr><td><b>Stock Level:</b><td><input type="text" name="current_level">
<tr><td><b>Add Image:</b><td><input type="file" name="image">
<tr><td><input type="submit" name="add_product" >
</form>
</table>
</body>
【问题讨论】:
-
你得到什么错误?你做了什么来调试这个?
-
你也对 SQL 注入持开放态度
-
我知道 sql 注入,只是尝试在这里创建基础知识。我还没有调试过
-
正如@JohnConde 所说,sql 注入是可能的,用于存储在 db
mysql_real_escape_string()中的变量以简单地防止 sql 注入 - 还要检查用户上传的文件,如果它是脚本,它也可以是一个漏洞,会造成严重的损害或其他坏事(病毒/木马/恶意软件) -
错误是什么?