Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] poprawność zapisu zapytań do bazy
Forum PHP.pl > Forum > Przedszkole
gebp
Mam pytanie natury technicznej i poprawności pisowni w PHP. Rozchodzi się o poprawny sposób zapisu w PHP zapytań do bazy danych mysql. Chodzi o cudzysłowy ("", '', ``)
Spotkałem się z 3 sposobami zapisu zapytania:
1.
  1. <?php
  2. $sql= " SELECT id FROM tabela WHERE a='$a' "; // działa po części
  3. ?>

2. (ten sposób rozwiązał mi jeden problem nad którym głowiłem się 2 dni)
  1. <?php
  2. $sql= " SELECT `id` FROM `tabela` WHERE `a`='$a' " // działa
  3. ?>

3. (zapytanie tworzone z PMA)
  1. <?php
  2. $sql= ' SELECT `id` FROM `tabela` WHERE `a`='$a' ';
  3. ?>


Czym spowodowane moje pytanie.
Otóż musiałem zrobić update'a wiersza w kolumnie. Pomimo ustawienia wszystkiego na utf-8 (bazy, połączeń, porównań i samego skryptu) mysql wywalał mi błąd 1064# - Synatax error. A wyglądało to tak:
  1. <?php
  2. $a="ąćęłńśóżź";
  3.  
  4. $sql=" UPDATE tabela SET a='$a' WHERE id='1' "; // nie działało
  5.  
  6. $sql=" UPDATE `tabela` SET `a`='$a' WHERE `id`='1' "; // zadziałało :-}
  7. ?>


Stąd też moje pytanie. Który z sposobów (1,2,3) jest prawidłowy, czym się różnią między sobą (oprócz tego że w niektórych przypadkach nie działają).
sagittariuspl
ja używam czwartego ;]
  1. zapytanie = "insert into `tabela` values (''.$a.'')";

pisane z 'palca' ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.