Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP:licznik lubię/nie lubię

To, co widzisz, to table jest jednym z słów zastrzeżonych MySQL ale próbujesz użyć go jako nazwy kolumny. Twoja kolumna nosi nazwę table_name w oparciu o twoje pytanie.

Zapytanie z symbolami zastępczymi wygląda tak:

INSERT INTO votes (ip, table_name, imgid) 
  VALUES (?, ?, ?)
  ON DUPLICATE KEY UPDATE
    ip=VALUES(ip),
    table_name= VALUES(table_name),
    imgid=VALUES(imgid)

Zapamiętaj z mysqli możesz wykonać to zapytanie, wykonując następujące czynności:

$sth = $mysqli->prepare("...");
$sth->bind_param("sss", $_SERVER['REMOTE_ADDR'], $table, $imgid);
$sth->execute();

Dokumentacja opisuje ten proces bardziej szczegółowo, ale "sss" rzecz odnosi się do trzech ciągów, a trzy wartości są przekazywane jako parametry.

Prawdopodobnie powinieneś używać PDO ponieważ jest o wiele mniej skomplikowany w użyciu niż mysqli . Jeszcze lepiej byłoby użyć struktury bazy danych, takiej jak Doktryna zrobić za ciebie dużo brudnej roboty SQL. Jeszcze lepiej byłoby użyć frameworka takiego jak CodeIgnighter , CakePHP lub FuelPHP by dać ci fundament, na którym możesz budować. Tworzenie aplikacji ręcznie od podstaw jest niezwykle czasochłonne i znacznie bardziej podatne na błędy.

Inną rzeczą, na którą warto zwrócić uwagę, jest to, że powinieneś spróbować używać spójnego nazewnictwa w swoim kodzie. Odwołujesz się do $table jako wartość dla table_name , więc prawdopodobnie powinien to być $table_name na początek.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL QUERY wielokrotne wyszukiwanie w jednym wierszu, aby znaleźć dane z innego wiersza w tej samej tabeli

  2. Aktualizacja tabeli 1 Z tabeli 2

  3. Kiedy automatycznie tworzysz subdomeny podczas rejestracji użytkownika, tworzy to nową stronę internetową lub daje wygląd strony internetowej?

  4. Używanie Visio do generowania MySQL DDL

  5. Robienie dość podstawowych sum przy różnych stołach