Я новичок, и я делаю первые шаги в мире PDO, и я пытаюсь обновить этот скрипт с MySQL на PDO. Сценарий используется для удаления записей из базы данных через jQuery.
Новое соединение с БД mySql:
$host = "localhost";
$user = "root";
$password = "";
$dbname = "test-2";
try {
$con = new PDO("mysql:host={$host};dbname={$dbname}", $user, $password);
}
// show error
catch(PDOException $exception){
echo "Connection error: " . $exception->getMessage();
}
Проблема касается сценария DELETE. Это оригинал (взят из этого урока: https://makitweb.com/how-to-delete-record-from-mysql-table-with-ajax) со ссылками на старое соединение.
include "config.php";
$id = $_POST['id'];
if($id > 0){
// Check record exists
$checkRecord = mysqli_query($con,"SELECT * FROM gallery WHERE id_gallery=".$id);
$totalrows = mysqli_num_rows($checkRecord);
if($totalrows > 0){
// Delete record
$query = "DELETE FROM gallery WHERE id_gallery=".$id;
mysqli_query($con,$query);
echo 1;
exit;
}
}
echo 0;
exit;
и тот же скрипт, который я пытаюсь обновить. Он не работает, потому что он дает мне предупреждение « неверный идентификатор ».
include "config.php";
$id = $_POST['id'];
if($id > 0){
// Check record exists
$checkRecord = "SELECT * FROM gallery WHERE id_gallery=".$id;
$stmt = $con->prepare($checkRecord);
$stmt->bindParam(1, $id);
$stmt->execute();
$totalrows = $stmt->fetchColumn()
if($totalrows > 0){
// Delete record
$query = "DELETE FROM gallery WHERE id_gallery=".$id;
$stmt = $con->prepare($query);
$stmt->bindParam(1, $id);
$stmt->execute();
echo 1;
exit;
}
}
echo 0;
exit;
script.js
$(document).ready(function(){
$('.delete').click(function(){
var el = this;
var id = this.id;
var splitid = id.split("_");
// Delete id
var deleteid = splitid[1];
// AJAX Request
$.ajax({
url: 'remove.php',
type: 'POST',
data: { id:deleteid },
success: function(response){
if(response == 1){
// Remove row from HTML Table
$(el).closest('tr').css('background','tomato');
$(el).closest('tr').fadeOut(800,function(){
$(this).remove();
});
}else{
alert('Invalid ID.');
}
}
});
});
});