Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wszystkie wartości ='s' w tabeli w błędzie PHP

Dlaczego var_dump(stmt['likedFour']); zwróć 's' :

Ponieważ brakuje Ci znaku dolara przed stmt , więc PHP myśli, że próbujesz uzyskać dostęp do stałej stmt zamiast zmiennej $stmt . Ponieważ nie zdefiniowałeś tej stałej, wrócimy do założenia, że ​​próbujesz uzyskać dostęp do ciągu "stmt" . W przypadku łańcuchów indeksy muszą być numeryczne, więc PHP powinno rzucać ostrzeżenie „Niedozwolone przesunięcie ciągu”, ale spróbuje to naprawić, rzutując 'likedFour' na liczbę całkowitą (która będzie wynosić 0 ).

Dlatego var_dump(stmt['likedFour']) oznacza dokładnie to samo, co var_dump("stmt"[0]) do PHP, dlatego otrzymujesz wynik "s" :pierwszy znak z "stmt" .

Jak uzyskać wynik faktycznie chcesz:

Najpierw musisz pobrać wynikowe wiersze z zapytania. $stmt jest mysqli_stmt obiekt, którego używasz do wykonania zapytania i pobrania wyników, nie jest w rzeczywistości samym wynikiem.

Aby oszczędzić sobie bólu głowy w przyszłości, zawsze sprawdzaj, czy zapytanie zostało wykonane pomyślnie, zanim spróbujesz pobrać wyniki. Następnie pobierz wiersz danych:

$success = $stmt->execute();
if (!$success) {
    echo $stmt->error;
} else if ($stmt->num_rows == 0) {
    echo 'No results matching that username';
} else {
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();
    var_dump($row['likedFour']);
}

Jeśli nie wiesz, ile wierszy zostanie zwróconych, przejrzyj je na wszelki wypadek:

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    var_dump($row['likedFour']);
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odmowa pozwolenia Laravel na zdalnym serwerze Mysql (AWS aurora)

  2. Flutter łączy się z bazą danych na serwerze

  3. znajdź wszystkie nazwy za pomocą zapytania mysql, które zaczynają się na literę 'a'

  4. Jaki jest kanoniczny sposób pobrania rekordu z bazy danych MySQL, który ma najmniejsze/największe pole?

  5. Zrzuć wszystkie tabele w formacie CSV, używając „mysqldump”