Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]+[PHP] Jeśli pozycja istnieje, nie dodawaj nowej, Problem ze składnią
FlashSplash
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 16.08.2010

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


Witajcie. Jestem totalnie zielony jeśli chodzi o język PHP i MySQL (postęp i tak dosyć szybki, po roku prób z kodowaniem), znam się jedynie dosyć na HTML i CSS oraz zasmakowałem trochę JavaScriptu. Mam problem z php + MySQL. Wywala mi błąd Parse error: syntax error, unexpected T_STRING in /home/cartoonc/public_html/test.php on line 46.

Linia 46:

  1. $wynik = mysql_query('SELECT COUNT(*) AS num FROM cartoonc_ulubione WHERE user = ' . intval($user_id) . ' AND favURL = \'' . mysql_ real_ escape_ string($curPageURL') . '\'');


Cały kod:
  1. $con = mysql_connect("localhost","nazwa_bazy","password");
  2. if (!$con)
  3. {
  4. die('Could not connect: ' . mysql_error());
  5. }
  6.  
  7. $user_id = $context['user']['id'];
  8. $curPageURL = curPageURL();
  9. $curPageName = curPageName();
  10. $wynik = mysql_query('SELECT COUNT(*) AS num FROM cartoonc_ulubione WHERE user = ' . intval($user_id) . ' AND favURL = \'' . mysql_ real_ escape_ string($curPageURL') . '\'');
  11. $wynik = mysql_fetch_array($wynik, MYSQL_ASSOC);
  12.  
  13. // Create table
  14. mysql_select_db("nazwa_bazy", $con);
  15. $sql = "CREATE TABLE user$user_id
  16. (
  17. favURL varchar(255),
  18. Title varchar(255)
  19. )";
  20.  
  21. // Execute query
  22. mysql_query($sql,$con);
  23.  
  24. if ($wynik['num'] > 0) {
  25. //wynik jest w bazie danych
  26. } else {
  27. //dodajemy nowy
  28. mysql_query('INSERT INTO `nazwa_bazy` SET `user` = ' . intval($user_id) . ', `favURL` = \'' . mysql_ real_ escape_ string('$curPageURL') . '\'');
  29. }
  30.  
  31. if (!mysql_query($sql,$con))
  32. {
  33. die('Error: ' . mysql_error());
  34. }
  35. echo "1 record added";
  36.  


Pozdrawiam i z góry dzięki za każdą pomoc!
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




że niby co to jest:
mysql_ real_ escape_ string
?
nie uwazasz ze powiino byc bez spacji?
mysql_real_escape_string


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
franki01
post
Post #3





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Drugi błąd sprawnie się ukrył. W linii 46. masz:
  1. string($curPageURL') . '\'');

Bezpośrednio za $curPageURL jest średnik. Usuń go tak, aby zostało:
  1. string($curPageURL) . '\'');

Niżej też masz nazwę tej zmiennej w cudzysłowach. Powinna pozostać bez nich. W podanym kodzie jest to linia 28. To nie jest błąd składniowy, ale błąd logiczny.

Ten post edytował franki01 16.08.2010, 20:17:31
Go to the top of the page
+Quote Post
FlashSplash
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 16.08.2010

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


Dzięki Panowie! Problem rozwiązany, ale teraz pojawił się kolejny :/

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/cartoonc/public_html/test.php on line 47

  1. $wynik = mysql_fetch_array($wynik, MYSQL_ASSOC);


To jest linia 47. Cały kod jest w pierwszym poście.

PS. Zastanawia mnie czy może być coś takiego:
  1. $wynik = mysql_query('SELECT COUNT(*) AS num FROM cartoonc_ulubione WHERE user = ' . intval($user_id) . ' AND favURL = \'' . mysql_real_escape_string($curPageURL) . '\'');
  2. $wynik = mysql_fetch_array($wynik, MYSQL_ASSOC);

2x $wynik - to się nie kłóci ze sobą?
Go to the top of the page
+Quote Post
franki01
post
Post #5





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Za linijką z mysql_query() wstaw:
Treść błędu powinna rozwiązać problem. Jeżeli nie, skopiuj go tu.

Ten post edytował franki01 16.08.2010, 20:51:24
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 04:36