Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]+[PHP] Jeśli pozycja istnieje, nie dodawaj nowej
Forum PHP.pl > Forum > Przedszkole
FlashSplash
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!
nospor
że niby co to jest:
mysql_ real_ escape_ string
?
nie uwazasz ze powiino byc bez spacji?
mysql_real_escape_string
franki01
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.
FlashSplash
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ą?
franki01
Za linijką z mysql_query() wstaw:
Treść błędu powinna rozwiązać problem. Jeżeli nie, skopiuj go tu.
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.