我收到 "mysqli_query(): Empty query" 错误并且无法找到错误的行
I get "mysqli_query(): Empty query" error and can't find the wrong line
大家好,我 运行 遇到了一个有趣的问题。我将此代码用于我的其他站点 运行良好。现在我只是更改变量等,我得到空查询错误。我逐行检查我的代码,但没有发现任何错误。
感谢任何帮助:)
代码如下:
<h1 class="text-center">Insert New Product</h1>
<form method="POST" action="index.php?insert_product" enctype="multipart/form-data">
<table id="form_table">
<tr>
<td class="valign">Title:</td>
<td class=""><input type="text" name="product_title" required></td>
</tr>
<tr>
<td class="valign">Price:</td>
<td class=""><input type="text" name="product_price" required></td>
</tr>
<tr>
<td class="valign">Category:</td>
<td class="">
<select name="product_cat" required>
<option value="" disabled selected hidden>Please Choose...</option>
<?php getCats_select(); ?>
</select>
</td>
</tr>
<tr>
<td class="valign">Brand:</td>
<td class="">
<select name="product_brand" required>
<option value="" disabled selected hidden>Please Choose...</option>
<?php getBrands_select(); ?>
</select>
</td>
</tr>
<tr>
<td class="valign">Keywords:</td>
<td class=""><input type="text" name="product_keywords" required></td>
</tr>
<tr>
<td class="valign">Image:</td>
<td class=""><input type="file" name="product_image" required></td>
</tr>
<tr>
<td class="valign">Description:</td>
<td class=""><textarea name="product_desc"></textarea></td>
</tr>
<tr>
<td class="valign">Specifications:</td>
<td class=""><textarea name="product_spec"></textarea></td>
</tr>
<tr class="submit">
<td></td>
<td class="f-right"><input class="button" type="submit" name="submit" value="Upload"></td>
</tr>
</table>
</form>
<?php
if (isset($_POST['submit'])) {
$product_title = $_POST['product_title'];
$product_price = $_POST['product_price'];
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_keywords = $_POST['product_keywords'];
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];
$product_desc = addslashes($_POST['product_desc']);
$product_spec = addslashes($_POST['product_spec']);
move_uploaded_file($product_image_tmp, "product_images/$product_image");
$insert_products = "INSERT INTO products (product_cat, product_brand, product_title, product_price, product_desc, product_spec, product_image, product_keywords)
VALUES ('$product_cat', '$product_brand', '$product_title', '$product_price', '$product_desc', '$product_spec', '$product_image', '$product_keywords')";
$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
}
?>
$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
为什么要在第一个 mysqli_query 的结果中做第二个 mysqli_query 和 运行?
现在你有秒 mysqli_query 的错误,因为现在它正在处理第一个 mysqli_query 的结果。 mysqli_query 需要查询而不是查询
的结果
$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
您正在将函数 mysqli_query 放入另一个 mysqli_query 函数中。这显然行不通,因为它会尝试 运行 由第一个查询的结果组成的查询。
替换为:
if(mysqli_query($con, $insert_products)){
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
}
OOOOooookkay...我发现了一些东西。不知何故 img 上传是问题所在。如果我从 INSERT 行删除它,一切正常...
谢谢你的帮助:)
大家好,我 运行 遇到了一个有趣的问题。我将此代码用于我的其他站点 运行良好。现在我只是更改变量等,我得到空查询错误。我逐行检查我的代码,但没有发现任何错误。
感谢任何帮助:)
代码如下:
<h1 class="text-center">Insert New Product</h1>
<form method="POST" action="index.php?insert_product" enctype="multipart/form-data">
<table id="form_table">
<tr>
<td class="valign">Title:</td>
<td class=""><input type="text" name="product_title" required></td>
</tr>
<tr>
<td class="valign">Price:</td>
<td class=""><input type="text" name="product_price" required></td>
</tr>
<tr>
<td class="valign">Category:</td>
<td class="">
<select name="product_cat" required>
<option value="" disabled selected hidden>Please Choose...</option>
<?php getCats_select(); ?>
</select>
</td>
</tr>
<tr>
<td class="valign">Brand:</td>
<td class="">
<select name="product_brand" required>
<option value="" disabled selected hidden>Please Choose...</option>
<?php getBrands_select(); ?>
</select>
</td>
</tr>
<tr>
<td class="valign">Keywords:</td>
<td class=""><input type="text" name="product_keywords" required></td>
</tr>
<tr>
<td class="valign">Image:</td>
<td class=""><input type="file" name="product_image" required></td>
</tr>
<tr>
<td class="valign">Description:</td>
<td class=""><textarea name="product_desc"></textarea></td>
</tr>
<tr>
<td class="valign">Specifications:</td>
<td class=""><textarea name="product_spec"></textarea></td>
</tr>
<tr class="submit">
<td></td>
<td class="f-right"><input class="button" type="submit" name="submit" value="Upload"></td>
</tr>
</table>
</form>
<?php
if (isset($_POST['submit'])) {
$product_title = $_POST['product_title'];
$product_price = $_POST['product_price'];
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_keywords = $_POST['product_keywords'];
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];
$product_desc = addslashes($_POST['product_desc']);
$product_spec = addslashes($_POST['product_spec']);
move_uploaded_file($product_image_tmp, "product_images/$product_image");
$insert_products = "INSERT INTO products (product_cat, product_brand, product_title, product_price, product_desc, product_spec, product_image, product_keywords)
VALUES ('$product_cat', '$product_brand', '$product_title', '$product_price', '$product_desc', '$product_spec', '$product_image', '$product_keywords')";
$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
}
?>
$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
为什么要在第一个 mysqli_query 的结果中做第二个 mysqli_query 和 运行?
现在你有秒 mysqli_query 的错误,因为现在它正在处理第一个 mysqli_query 的结果。 mysqli_query 需要查询而不是查询
的结果$run_products = mysqli_query($con, $insert_products);
$run_query = mysqli_query($con, $run_products);
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
您正在将函数 mysqli_query 放入另一个 mysqli_query 函数中。这显然行不通,因为它会尝试 运行 由第一个查询的结果组成的查询。
替换为:
if(mysqli_query($con, $insert_products)){
echo "<script>alert('Product has been uploaded succesfully!')</script>";
echo "<script>window.open('index.php?insert_product','_self')</script>";
}
OOOOooookkay...我发现了一些东西。不知何故 img 上传是问题所在。如果我从 INSERT 行删除它,一切正常...
谢谢你的帮助:)