Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] [MYSQL] Aktualizacja danych w bazie., Problem, z aktualizacją danych w bazie mysql.
HETL
post 6.09.2021, 17:52:26
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.09.2021

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


Witam, mam problem z aktualizacją danych w bazie mysql. Chodzi oto że kod którego użyłem nie działa. Próbowałem też użyć innych kodów z internetu, ale one również nie działają. Wyświetla się zawsze błąd 500. Jak mogę to naprawić?
(Bazę danych mam stworzoną i wszystkie rubryki, logowanie do bazy też jest dobre bo sprawdzałem).


Mój kod php:
  1. <?php
  2.  
  3.  
  4.  
  5. $DATABASE_HOST = 'localhost';
  6. $DATABASE_USER = 'panel';
  7. $DATABASE_PASS = '';
  8. $DATABASE_NAME = 'login';
  9.  
  10. $db = mysql_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS);
  11. mysql_select_db($DATABASE_NAME);
  12. mysql_query("UPDATE admin SET username='".$_POST['name']."' WHERE id='1'");
  13. echo 'OK';
  14. ?>


Ten post edytował HETL 6.09.2021, 17:53:54
Go to the top of the page
+Quote Post
viking
post 6.09.2021, 18:10:22
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Użyj pdo.


--------------------
Go to the top of the page
+Quote Post
gornik
post 6.09.2021, 18:21:54
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 9
Dołączył: 28.04.2010

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


Masz na wzór mój stary kod który dawno temu napisałem. Powinien działać. Na podstawie tego możesz ogarnąć to po "współczesnemu" smile.gif
  1. <?php
  2. class DB {
  3. private $db_host;
  4. private $db_user;
  5. private $db_pass;
  6. private $db_name;
  7.  
  8. public $mysqli = null;
  9.  
  10. public function __construct($host, $user, $pass, $name){
  11. $this->db_host = $host;
  12. $this->db_user = $user;
  13. $this->db_pass = $pass;
  14. $this->db_name = $name;
  15. }
  16.  
  17. public function connect() {
  18. $connection = $this->mysqli = new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name);
  19. mysqli_set_charset($connection, "utf8");
  20. return $connection;
  21. }
  22. public function disconnect() {
  23. return $this->mysqli->close();
  24. }
  25. function escape($data){
  26. return $this->mysqli->real_escape_string($data);
  27. }
  28.  
  29. public function query($query) {
  30. return $this->mysqli->query($query);
  31. }
  32.  
  33. public function update (&$data, $table, $id) {
  34. foreach ($data as $key => $value) {
  35. isset($vals) ? $vals .= ', ' : $vals = '';
  36. $vals .= $this->escape($key) . " = '".$this->escape($value)."'";
  37. }
  38. $id = (int) $id;
  39. $this->mysqli->real_query('UPDATE '.$table.' SET '.$vals.' WHERE id='.$id);
  40. }
  41.  
  42. /* Jakies inne cznnosci, np insert, select... */
  43. }
  44.  
  45.  
  46. /* Tu sie odwołaj do tego */
  47. $db = new DB(
  48. 'Twój host',
  49. 'Twój user',
  50. 'Twój pass',
  51. 'Twoja tabela'
  52. );
  53.  
  54. $user = [
  55. 'username' => 'nowy_username69',
  56. // 'email' => 'nowy@email.pl // możesz dodać inne pola do update też.
  57. ];
  58.  
  59. /* Połącz z bazą */
  60. $db->connect();
  61.  
  62. /* Zaktualizuj rekord
  63. * dane, nazwa_tabeli, id uzytkownika
  64. */
  65. $db->update($user, 'admin', 1);
  66.  
  67. /* zamknij połączenie z bazą */
  68. $db->disconnect();


Ten post edytował gornik 6.09.2021, 18:24:36


--------------------
Zwiedzam świat i koduje.
Ubrania podróżnicze | Blog podróżniczy
Go to the top of the page
+Quote Post
LowiczakPL
post 8.09.2021, 13:30:32
Post #4





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


https://www.php.net/manual/en/function.mysql-connect.php

To rozszerzenie było przestarzałe w PHP 5.5.0 i zostało usunięte w PHP 7.0.0. Sprawdź jaką masz wersje PHP

mysqli powinno działać

  1. <?php
  2. $servername = "localhost";
  3. $username = "username";
  4. $password = "password";
  5. $dbname = "myDB";
  6.  
  7. // Create connection
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. // Check connection
  10. if ($conn->connect_error) {
  11. die("Connection failed: " . $conn->connect_error);
  12. }
  13.  
  14. $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
  15.  
  16. if ($conn->query($sql) === TRUE) {
  17. echo "Record updated successfully";
  18. } else {
  19. echo "Error updating record: " . $conn->error;
  20. }
  21.  
  22. $conn->close();
  23. ?>


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
HETL
post 9.09.2021, 15:11:45
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.09.2021

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


Cytat(LowiczakPL @ 8.09.2021, 14:30:32 ) *
To rozszerzenie było przestarzałe w PHP 5.5.0 i zostało usunięte w PHP 7.0.0. Sprawdź jaką masz wersje PHP


Mam PHP 7.2.24-0ubuntu0.18.04.8
Go to the top of the page
+Quote Post
nospor
post 9.09.2021, 15:24:46
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




No to dostales juz odpowiedzi smile.gif


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

"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
Pyton_000
post 9.09.2021, 19:46:52
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


PHP 7.2 już zakończyło swój support, 7.3 zaraz też skończy więc radziłbym zrobić mały update wink.gif
Go to the top of the page
+Quote Post
HETL
post 4.10.2021, 15:42:50
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.09.2021

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


Cytat(LowiczakPL @ 8.09.2021, 14:30:32 ) *
https://www.php.net/manual/en/function.mysql-connect.php

To rozszerzenie było przestarzałe w PHP 5.5.0 i zostało usunięte w PHP 7.0.0. Sprawdź jaką masz wersje PHP

mysqli powinno działać

  1. <?php
  2. $servername = "localhost";
  3. $username = "username";
  4. $password = "password";
  5. $dbname = "myDB";
  6.  
  7. // Create connection
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. // Check connection
  10. if ($conn->connect_error) {
  11. die("Connection failed: " . $conn->connect_error);
  12. }
  13.  
  14. $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
  15.  
  16. if ($conn->query($sql) === TRUE) {
  17. echo "Record updated successfully";
  18. } else {
  19. echo "Error updating record: " . $conn->error;
  20. }
  21.  
  22. $conn->close();
  23. ?>


Działa, Dziękuje!
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: 29.03.2024 - 12:01