Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Identyczne parametry w bind_param()
Forum PHP.pl > Forum > Przedszkole
Grandalf00
Witam! Mam taki oto kod:

  1. $reply2 = $dbc->prepare("INSERT INTO tabela (username,attribute,op,value) VALUES (?,'Redirection','==','http://www.strona.pl/sprawdz.php?user=')");
  2. $reply2->bind_param('s',$username);
  3. $reply2->execute();
  4. $reply2->close();


Chciałbym aby w adresie na końcu też była dodana nazwa użytkownika. Kombinowałem z dodaniem ? na wszelkie sposoby
  1. VALUES (?,'Redirection','==','http://www.strona.pl/sprawdz.php?user=')") <-- ?
  2. $reply2->bind_param('ss',$username, $username);


Lecz dostaje błąd:
  1. PHP Fatal error: Call to a member function bind_param() on a non-object


Z kodem poradziłem sobie w końcu na około, ale ciekawi mnie czy w ogóle da się to jakoś zrobić.
rad11
A nie możesz stworzyć zmiennej do tego adresu ze zmienna $username i zbindować to w zapytaniu?
Grandalf00
No mogę i poniekąd tak zrobiłem, ale moje pytanie jest jak to zrobić w obecnej formie, o ile się da, to jaka miałaby być składnia.
!*!
Inna forma nie ma sensu.
Crozin
Dostępne masz dwie opcje.

1. Łączysz tekst po stronie PHP:
  1. $reply2 = $dbc->prepare("INSERT INTO tabela (username,attribute,op,value) VALUES (?,'Redirection','==',?)");
  2. $reply2->bind_param('s',$username);
  3. $reply2->bind_param(2, 'http://www.strona.pl/sprawdz.php?user=' . $username);

2. Łączysz tekst po stronie bazy:
  1. $reply2 = $dbc->prepare("INSERT INTO tabela (username,attribute,op,value) VALUES (?,'Redirection','==', CONCAT('http://www.strona.pl/sprawdz.php?user=', ?))");
  2. $reply2->bind_param('s',$username);
  3. $reply2->bind_param(2, $username);
(w różnych bazach masz różne funkcje/operatory łączenia tekstu)

Opcja pierwsza jest o tyle lepsza, że dla tego konkretnego zapytania nie musisz używać SQL-a specyficznego dla danej bazy. (http://stackoverflow.com/questions/11403931/what-is-the-difference-between-operator-and-concat-function-in-oracle)
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.