Fatal error: Call to a member function autocommit() on resource in /proba.php on line 33

0
<?php $uzytkownik = ....... $haslo = .............. $db_name = ............ $adres = .......... $wynik = mysqli_connect("$adres","$uzytkownik","$haslo"); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit(); } // Check connection if ($mysqli -> connect_errno) { echo "Failed to connect to MySQL: " . $mysqli -> connect_error; exit(); } { $wynik = mysql_connect ("serwer1918646.home.pl", "30877542_ksiazka_kz", "koszyksklepu"); if (!$wynik) return false; $wynik->autocommit(TRUE); return $wynik; } function wynik_bd_do_tablicy($wynik) { $tablica_wyn = array(); for ($licznik=0; $rzad = $wynik->fetch_assoc(); $licznik++) $tablica_wyn[$licznik] = $rzad; return $tablica_wyn; } ?>

**Szanowni Państwo,

Dlaczego to nie działa i drukuje błąd:

Fatal error: Call to a member function autocommit() on resource in /proba.php on line 33

Co powinienem zmienić ? Dziękuję za szczegółowy opis.

**

1

Wykasuj te dane połączenia. Po co tworzysz połączenie 2 razy, raz z użyciem mysql a raz mysqli()?

0

tutaj mam plik uwierzytelnianie i teraz dostaję komunikat: Fatal error: Call to undefined function lacz_bd() in /funkcje_uwierz.php on line 11

0

To jest drugi plik. Otrzymuję teraz komunikat: Fatal error: Call to undefined function lacz_bd() in /funkcje_uwierz.php on line 11 Poniżej jest ten plik połączony z pierwszym.

<?php require_once('funkcje_bazy.php'); function loguj($nazwa_uz, $haslo) // sprawdzenie nazwy użytkownika i hasła w bazie danych // jeżeli tak, zwraca true // w przeciwnym wypadku false { // łączenie z bazą danych $lacz = lacz_bd(); if (!$lacz) return 0; // sprawdzenie unikatowości nazwy użytkownika $wynik = $lacz->query("select * from admin where nazwa_uz='$nazwa_uz' and haslo = sha1('$haslo')"); if (!$wynik) return 0; if ($wynik->num_rows>0) return 1; else return 0; } function sprawdz_uzyt_admin() // sprawdzenie zalogowanie i powiadomienie, jeżeli nie { global $_SESSION; if (isset($_SESSION['uzyt_admin'])) return true; else return false; } function zmien_haslo($nazwa_uz, $stare_haslo, $nowe_haslo) // zmiana hasła użytkownika // zwraca true lub false { // jeżeli stare hasło prawidłowe // zmiana hasła na nowe_haslo i zwraca true // w przeciwnym wypadku false if (loguj($nazwa_uz, $stare_haslo)) { if (!($lacz = lacz_bd())) return false; $wynik = $lacz->query( "update admin set haslo = sha1('$nowe_haslo') where nazwa_uz = '$nazwa_uz'"); if (!$wynik) return false; // brak zmian else return true; // zmiana pomyślna } else return false; // nieprawidłowe stare hasło } ?>
0

Linia 11 to jest ta linia kodu:

$lacz = lacz_bd();

0

**Dlaczego, co powinienem zrobić? ****

0

Masz podane rozwiązanie na tacy. Komunikat o błędzie zawiera podpowiedź jego rozwiązania: próbujesz uzyć funkcji lacz_bd(), która nie istnieje w 11 linii pliku /funkcje_uwierz.php

P.S. dlaczego tu:
if (!($lacz = lacz_bd()))
return false;
Przypisujesz zamiast porównać? (czyli używasz = zamiast ==)

1 użytkowników online, w tym zalogowanych: 0, gości: 1