Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Identyczne parametry w bind_param()
Grandalf00
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 23.01.2016

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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)

Ten post edytował Crozin 7.06.2016, 14:06:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 23:48