Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] mysql_query i zapytanie o te dziwne ukośne cudzysłowia `
Forum PHP.pl > Forum > Przedszkole
Damonsson
Zacząłem się uczyć PHP i już mam pełno pytań, ale oszczędzę was i zadam tylko jedno, które mnie nurtuje od paru dni. W jakim celu daje się w mysql_query te ukośne cudzysłowia? np ("CREATE DATABASE `$db_name`") --> ` <-- Czy to coś daje? Albo na co ma wpływ, albo cokolwiek innego, jakąś funkcję pełni? Ciężko mi pytać google, bo nawet nie wiem jak to się fachowo nazywa.
gorden
używa się ich w przypadku słów zastrzeżonych przez mysql, dla przykładu

nie:
  1. SELECT * FROM online WHERE id=1


a:
  1. SELECT * FROM `online` WHERE id=1


ponieważ `online` służy w sql do czegośtam i jest zastrzeżone. poza tym zmienne z php w zapytaniu sql powinno się umieszczać w apostrofach '
croc
Ten znak to grawis. Gorden trochę zaciemnił - tym znakiem MOŻESZ objąć nazwy tabel/pól/baz danych w zapytaniach. Tym sposobem zapobiegniesz konfliktów z nazwami zarezerwowanymi przez składnię, a także - o ile rodzaj systemu na to pozwala - użyć nazw zawierających spację.

Apostrof w zapytaniach wcale nie musi się pojawiać dla przefiltrowanych liczb.
Damonsson
Nie zaciemnił, dość szybko łapię wink.gif

Ale skoro już poruszyliście apostrofy to pociągnę dalej i mówicie aby stosować, ale przecież taki kod

  1. $nazwa_bazy = "a22aaa";
  2. $link = mysql_connect('localhost', 'root', 'w');
  3. $query = "CREATE DATABASE '$nazwa_bazy'";
  4. if (mysql_query($query)){
  5. echo "ok";
  6. }else {
  7. echo "blad";
  8. }

Daje mi: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''a22aaa'' at line 1.
A '$nazwa_bazy' w postaci $nazwa_bazy - działa jak trzeba.
croc
Bo apostrofy dotyczą tylko i wyłącznie wartości tekstowych. Może przeczytaj jakieś podstawy podstaw MySQL?
Damonsson
Spokojnie, to było pytanie bonusowe, bo sami zaczęliście wątek apostrofów ;P

Ok już łapię, nazwa bazy danych nie jest wartością tekstową, tylko po prostu nazwą bazy danych? Dobrze myślę?

Zamiast czytać wolę się uczyć na własnych błędach, jest to efektywniejsze w moim wypadku.

Więc o co chodziło z
Cytat
poza tym zmienne z php w zapytaniu sql powinno się umieszczać w apostrofach
bo właśnie przez to zrodziło się to moje głupie pytanie?
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.