我需要從PHP更新數據庫記錄。MySQL UPDATE在phpMyAdmin中工作,但不在PHP中
這裏是我的PHP代碼:
if(isset($_FILES["fileEdit"])){
if($_FILES["fileEdit"]["error"] == 0){
$id = $_POST["id"];
$productName = $_POST["name"];
$productDesc = $_POST["desc"];
$productPrice = $_POST["price"];
$productPath = "images/" . $_FILES["fileEdit"]["name"];
move_uploaded_file($_FILES["fileEdit"]["tmp_name"], $path . $_FILES["fileEdit"]["name"]);
$sql = "UPDATE products SET name='$productName', description='$productDesc', price='$productPrice' img_src='$productPath' WHERE id='$id'";
$result = $dbCon->query($sql);
echo "edit--> " . $_FILES["fileEdit"]["name"] . " -> no errors, " . $productName . " desc: " . $productDesc . " price: " . $productPrice . "id: ".$id;
}else{
echo $_POST["name"]." -> error";
}
}
這裏是我的JavaScript:
$("#submitEditBtn").click(function(){
var file_data = $('#editImg').prop('files')[0];
var form_data = new FormData();
if(file_data)
form_data.append('fileEdit', file_data);
else
form_data.append('noImgChanges', "true");
form_data.append('name', $("#editP_name").val());
form_data.append('desc', $("#editP_desc").val());
form_data.append('price', $("#editP_price").val());
form_data.append('id', $("#productEditing").attr("name"));
$.ajax({
url: 'imgParser.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function (response) {
console.log(response);
},
error: function (response) {
console.log("ERROR OCCURED");
}
});
});
那麼,什麼情況是,我填寫的信息(輸入,圖像等),然後按下按鈕,它發送一個帶有項目id的請求作爲數據。 PHP應該用新的信息更新記錄,但它不會,但如果我在SQL控制檯中輸入完全相同的命令並用一些數據替換變量,它將成功更新它。同樣在chrome控制檯中,它輸出所有數據(正在被回顯)。
任何意見/建議表示讚賞
編輯:
我打印的錯誤(如果有任何)在控制檯中,我得到了
你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「img_src =」圖像/ 80sKIDTee.png正確的語法手冊「WHERE ID ='1行
您是否嘗試'回聲$ SQL;'確保你已經正確的查詢? –
你有沒有得到任何錯誤? – Amir
是的顯然有 –