Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][MySQL][PHP]PDO sprawdzenie czy rekord istnieje, zamiana mysql_num_rows na pdo
breadi
post 10.05.2015, 21:21:30
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 9.04.2015

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


Witam, mam poniższy kod, który odbiera dane z formularza, sprawdza czy w tabeli istnieje dany "id", jeżeli tak to atkualizuje dane w bazie pod danym "id". Jeśli nie ma takiego "id", to pojawia się informacja że dany "id" nie istnieje w bazie.. Czy ktoś może mi pomóc jak ten kod przerobić z 'mysql' na 'pdo'?
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $akcja = $_GET['akcja'];
  4. if ($akcja == wykonaj)
  5. {
  6. include ("polaczenie.php");
  7. $id = substr(addslashes($_POST['id']),0,3);
  8. if(mysql_num_rows(mysql_query("SELECT id FROM tabela WHERE id='$id'"))>0)
  9. {
  10.  
  11.  
  12. $aaa = substr(addslashes($_POST['aaa']),0,32);
  13. $bbb = substr($_POST['bbb'],0,320);
  14. $ccc = substr($_POST['ccc'],0,32);
  15. $ddd = substr($_POST['ddd'],0,5000);
  16. $dodano = date('d-m-Y');
  17. $y = substr(addslashes($_POST['y']),0,4);
  18. $m = substr(addslashes($_POST['m']),0,2);
  19. $d = substr(addslashes($_POST['d']),0,2);
  20. $id = substr(addslashes($_POST['id']),0,3);
  21.  
  22. if (mysql_query("SELECT * FROM `tabela` WHERE id='$id'"))
  23. {mysql_query("UPDATE `tabela` SET aaa='$aaa', bbb='$bbb', ccc='$ccc', ddd='$ddd', dodano='$dodano', y='$y', m='$m', d='$d' WHERE id='$id'") or die("Nie mogłem Cie zarejestrować!");
  24. echo header("Location: /administracja.php");
  25. echo '<br><span style="color: green; font-weight: bold; font-size: 30px;">zaktualizowano</span><br>';}
  26.  
  27.  
  28. }
  29. else
  30. {
  31. echo 'Rekord o podanym id nie istnieje, sprawdź nr i <a href="administracja.php">spróbuj ponownie<a/>';
  32. }
  33. }
  34. ?>
  35.  


Moje próby:
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $akcja = $_GET['akcja'];
  4. if ($akcja == wykonaj)
  5. {
  6. $pdo = new PDO('mysql:host=localhost;dbname=base', 'root', 'password');
  7. $id = substr(addslashes($_POST['id']),0,3);
  8. if(mysql_num_rows($pdo->query("SELECT id FROM tabela WHERE id='$id'"))>0)
  9. {
  10.  
  11.  
  12. $aaa = substr(addslashes($_POST['aaa']),0,32);
  13. $bbb = substr($_POST['bbb'],0,320);
  14. $ccc = substr($_POST['ccc'],0,32);
  15. $ddd = substr($_POST['ddd'],0,5000);
  16. $dodano = date('d-m-Y');
  17. $y = substr(addslashes($_POST['y']),0,4);
  18. $m = substr(addslashes($_POST['m']),0,2);
  19. $d = substr(addslashes($_POST['d']),0,2);
  20. $id = substr(addslashes($_POST['id']),0,3);
  21.  
  22. if ($pdo->query("SELECT * FROM `tabela` WHERE id='$id'"))
  23. {$pdo->query("UPDATE `tabela` SET aaa='$aaa', bbb='$bbb', ccc='$ccc', ddd='$ddd', dodano='$dodano', y='$y', m='$m', d='$d' WHERE id='$id'") or die("Nie mogłem Cie zarejestrować!");
  24. echo header("Location: /administracja.php");
  25. echo '<br><span style="color: green; font-weight: bold; font-size: 30px;">zaktualizowano</span><br>';}
  26.  
  27.  
  28. }
  29. else
  30. {
  31. echo 'Rekord o podanym id nie istnieje, sprawdź nr i <a href="administracja.php">spróbuj ponownie<a/>';
  32. }
  33. }
  34. ?>
  35.  


Konkretnie nie mam pojęcia jak to zamienić, żeby zadziałało:
  1. if(mysql_num_rows($pdo->query("SELECT id FROM tabela WHERE id='$id'"))>0)


Z góry dziękuję za okazaną pomoc.
Go to the top of the page
+Quote Post
IProSoft
post 10.05.2015, 21:44:24
Post #2





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


  1. if( $pdo->query("SELECT count(*) FROM tabela WHERE id='".$id."'")->fetchColumn() > 0 )


Ten post edytował IProSoft 10.05.2015, 21:45:10


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
breadi
post 10.05.2015, 22:14:59
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 9.04.2015

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


Dziękuję bardzo, próbowałem w ten sposób, ale bez opcji 'Count'.
Pozdrawiam
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:30