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

Podwójne żądanie mysql/php dla ajax

  1. Twój kod jest podatny na wstrzyknięcie SQL. Ty naprawdę powinien używać przygotowanych wyciągów , do którego przekazujesz zmienne jako parametry, które nie są oceniane pod kątem SQL. Jeśli nie wiesz, o czym mówię lub jak to naprawić, przeczytaj historię Tabele Bobby .

  2. Proszę przestać pisać nowy kod ze starym rozszerzeniem MySQL:nie jest już utrzymywany, a społeczność rozpoczęła proces wycofywania . Zamiast tego powinieneś użyć ulepszonego MySQLi rozszerzenie lub PDO warstwa abstrakcji.

  3. Dowiedz się więcej o połączeniach SQL .

  4. Ty naprawdę powinien postarać się zmienić schemat tak, aby zawierał:

    • klucz obcy miejsca docelowego w tabeli hoteli (jeśli hotel jest powiązany z nie więcej niż jednym miejscem docelowym); lub

      ALTER TABLE sirev_Hotels
       ADD COLUMN hoDestination INT,
       ADD FOREIGN KEY hoDestination REFERENCES sirev_Dests (deDestCode)
      
    • tabela relacji między miejscem docelowym a hotelem (jeśli hotel może być powiązany z wieloma miejscami docelowymi).

      CREATE TABLE sirev_DestinationHotels (
        dehoDestination INT,
        dehoHotel INT,
        FOREIGN KEY dehoDestination REFERENCES sirev_Dests  (deDestCode),
        FOREIGN KEY dehoHotel       REFERENCES sirev_Hotels (hoCode)
      )
      
  5. Jeśli nie jest to możliwe, możesz użyć FIND_IN_SET() funkcjonować jako kryterium łączenia:

    SELECT hoCode, hoName
    FROM   sirev_Hotels
      JOIN sirev_Dests ON FIND_IN_SET(sirev_Hotels.hoCode, sirev_Dests.deHotels)
    WHERE  sirev_Dests.deDestName = ?
    
  6. Po dołączeniu do tabel i uzyskaniu kodu hoCode i hoName wszystkich hoteli w wybranym przez Ciebie miejscu docelowym możesz przeglądać w pętli, wyświetlając <option value="$hoCode">$hoName</option> , stosując htmlentities() w razie potrzeby.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak ulepszyć klauzulę Limit w MySQL

  2. Data od Mysql DB do timera JavaScript

  3. Zapisywanie plików jako blob w bazie danych ajax php pdo

  4. jak porównać dwie tabele mysql w php

  5. PDO Uzyskaj wiele identyfikatorów wstawek