Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
tomazzi
Mam objekt, w którym są publiczne zmienne pobrane z formularza oraz klasę, która pobiera ten obiekt oraz zapisuje jego zmienne do bazy danych. Problem jest z zapytaniem, które wygląda następująco:

$query = "INSERT INTO projects (name) VALUES ('$this->object->project_name');

Efektem zapytania jest błąd: Object of class Project could not be converted to string. Zapytanie nie odwołuje się do zmiennej obiektu tylko do samego obiektu widzi tylko $this->object, resztę odznacza jak zwykłego stringa. Jak temu zaradzić?
mokry
Zrób var_dump'a i zobacz co się dzieje.
  1. var_dump($this->object->project_name);
CuteOne
A później sprawdź
  1. var_dump($this->object->project_name->__toString());
tomazzi
var_dump elegancko zwraca to co trzeba, to co wpisuje w formularzu. Problem jest w samym zapytaniu a dokładniej tutaj: VALUES ('$this->object->project_name'); pierwszą część czyli $this->object Netbeans odznacza jak zmienną a kolejny znak bierze jako string. To chyba kwesta apostrofów ale nie wiem zrobić żeby było dobrze.
CuteOne
Błąd oznacza, że chcesz wyświetlić(skonwertować) obiekt jak stringa a nie, że masz złe apostrofy wink.gif. Sprawdziłeś moją podpowiedź z postu wyżej?
mokry
Jeżeli var_dump() zwraca faktycznie string'a spróbuj tak:
  1. $query = "INSERT INTO projects (name) VALUES ('".$this->object->project_name."')";


Ewentualnie jeszcze inaczej:
  1. $project_name = (string)$this->object->project_name;
  2. $query = "INSERT INTO projects (name) VALUES ('".$project_name."')";
tomazzi
Cytat(mokry @ 7.01.2013, 23:54:02 ) *
Jeżeli var_dump() zwraca faktycznie string'a spróbuj tak:
  1. $query = "INSERT INTO projects (name) VALUES ('".$this->object->project_name."')";


Ewentualnie jeszcze inaczej:
  1. $project_name = (string)$this->object->project_name;
  2. $query = "INSERT INTO projects (name) VALUES ('".$project_name."')";


Dokładnie o to chodziło pierwszy sposób działa. Teraz widzi całą zmienną. Dzięki za pomoc smile.gif
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.