phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Tăng giá trị trong tập lệnh PHP không hoạt động

Một số điều cần được sửa chữa. đầu tiên bạn đang sử dụng mysql khi bạn nên sử dụng mysqli hoặc PDO. Thứ hai, bạn đang sử dụng dữ liệu bài đăng mà không có bất kỳ thoát nào cả. Thứ ba, bạn không cần chọn và cập nhật này. Bạn có thể làm điều đó trong một câu lệnh duy nhất.

$query = "UPDATE tinyblog SET views = views + 1 WHERE id = (SELECT id FROM tinyblog where id=:article)"
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$stmt = $db->prepare($query);
$stmt->execute(array(":article"=>$article_id));

Những gì chúng tôi đang làm ở đây là tạo một tuyên bố chuẩn bị sẵn với một người giữ chỗ. Chúng tôi đã đặt tên nó là :article nhưng nó có thể được để dưới dạng ? thay vào đó.

Sau đó, khi truy vấn được thực hiện, bạn cần điền vào các bit còn thiếu bằng cách chuyển các tham số vào. Đó là những gì chúng ta đang làm trong bước cuối cùng với array(":article"=>$article_id)

Vì nó là một tham số được đặt tên, chúng tôi sử dụng một mảng kết hợp. Ngoài ra, bạn có thể gọi thực thi mà không có bất kỳ tham số nào nếu bạn đã gọi bindParam đầu tiên.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. (html) trình soạn thảo wysiwyg cho các trường TEXT trong phpmyadmin

  2. Lỗi MySQL 2014 - Các lệnh không đồng bộ - khi cố gắng gọi các procs được lưu trữ liên tiếp

  3. Làm cách nào để thêm nhiều địa chỉ của một người dùng trong cơ sở dữ liệu MySQL

  4. Làm cách nào để hiển thị các nút 'chỉnh sửa', 'sao chép' và 'xóa' trong phpMyAdmin?

  5. Làm cách nào để tôi có thể tìm thấy tất cả các trình kích hoạt db trong MySQL?