• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Własna wtyczka Wordpress

+1 głos
893 wizyt
pytanie zadane 24 czerwca 2021 w Systemy CMS przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

Hej,

Napisałam prostą wtyczkę WordPress, która wyświetla dane z bazy.

I teraz pytanie, w jaki sposób wtyczką powinna się łączyć z bazą?

czy taki skrypt PHP

<?php 
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close(); 
?>

Czy jest jakiś lepszy sposób ?

 

Minusy, które widzę dla tego rozwiązania, to gdy przeniosę stronę w inne miejsce potrzebna będzie zmiana danych do bazy każdorazowo

Fajnie jakby to jakoś dynamicznie te dane pobierało

4 odpowiedzi

+2 głosów
odpowiedź 24 czerwca 2021 przez Paweł Mansfeld Obywatel (1,420 p.)

Połączenie do bazy danych jest już zapisane w wp-config.php nie trzeba tego powielać w kodzie wtyczki. Poczytaj o obiekcie $wpdb: https://developer.wordpress.org/reference/classes/wpdb/

0 głosów
odpowiedź 24 czerwca 2021 przez wizarddos Nałogowiec (28,110 p.)
Dobrze by było użyć zamiast mysqli pdo.

I zamiast funkcji query używać bindParam i poleceń przygotowany

(oczywiście jeżeli można używać tego rodzaju rzeczy w WordPress)
0 głosów
odpowiedź 24 czerwca 2021 przez niezalogowany
W wtyczkach WordPress możesz zdefiniować coś takiego jak ustawienia. Definiujesz pole baza danych, nazwa użytkownika, hasło, adres i port, a potem wtyczka z tego korzysta. Więcej szczegółów masz w dokumentacji WordPress.
0 głosów
odpowiedź 30 czerwca 2021 przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

Udało mi się połączyć z bazą danych przez $wpdb.

Ale dlaczego nie mogę wyświetlić danych w pętli if while

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}

To wywala błąd.

Tylko przez <?php get_dump($result); ?> można wyświetlić dane

Dlaczego?

 

Podobne pytania

+1 głos
1 odpowiedź 492 wizyt
0 głosów
1 odpowiedź 523 wizyt
pytanie zadane 28 października 2016 w Systemy CMS przez Lumpex Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 309 wizyt

93,774 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,378 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...