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

Funkcje PHP (Po co zawwracam głowę takim banałem ale dobra pytam)

Object Storage Arubacloud
0 głosów
393 wizyt
pytanie zadane 21 kwietnia 2015 w PHP przez Mateusz Analityk Stary wyjadacz (13,710 p.)
edycja 21 kwietnia 2015 przez Mateusz Analityk
<?
$polaczenie = @new mysqli('localhost', 'root', '', 'users');
if (mysqli_connect_errno() != 0){
	echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
}
else {
	  $_POST['g'] = $polaczenie;
   function pokaz() {	
   	$polaczeni = ['g'];
   	$q = $polaczeni -> query('SELECT * FROM pytania'); // coś z tablicą nadal kombinuję 
   	if ($q != 0){
   		echo 'zmienna jest pusta';
   		$polaczeni -> close();
   		}
   	else { 
   		echo ($q);
   		}
   }
 	pokaz();	
	}
			$polaczenie -> close();
?>

Chciałbym nauczyć się funkcji w php i mi to jakoś nie wychodzi. Skrypt ma obsługiwać błędy msql a potem funkcja ma być autoamatcznie wywołana na stronie. Post wstawiam w ramach darmowej lekcji. Tak by się tego nauczyć.

Parse error: syntax error, unexpected '$q' (T_VARIABLE) in kurs/funkcje/include/start.php on line 9

nie chcę poprawnego kodu tylko po prostu zrozumieć błędy

to jest prosty kod chciałbym użyć funkcji do wywołania potem dzięki pentli wszystkich rekordów z bazy ale najpierw kod sobie maksymalnie uprasza wracając macie jakiś pomsł jak wywołać dzięi funkcji wszystkie rekordy z bazy danych ? bo kod mi nie działa. chciałbym użyć mysqli

ja się nie znnam a wy pewnie wiecie jak to się robi

5 odpowiedzi

+1 głos
odpowiedź 21 kwietnia 2015 przez efiku Szeryf (75,160 p.)
wybrane 22 kwietnia 2015 przez Mateusz Analityk
 
Najlepsza

W lini 8 brakuje Ci średnika :P
Co do funkcji to ona chyba ma zakres tylko w tym "else" :)
Zmień notatnik na np netbeans ;-)

bo kod mi nie działa
- Nie ma prawa działać ;-) 

W funkcji przesyłaj sobie połaczenie z mysql np function costam( \mysqli $handle ) 
- utworz sobie zmienna lokalna do ktorej dasz rezultat zapytania pobierajacego wszystkie dane z bazy np konkretny select
- zwroc ta zmienna returnem 

i wtedy np $dane = costam($polaczenie); 

Co to jest? :O

      $_POST['g'] = $polaczenie;
   function pokaz() {   
    $polaczeni = ['g'];

 

komentarz 23 kwietnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Dlaczego w linii 8 brakuje średnika ? Po co po otwarciu definicji funkcji dawać średnik ? :)
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
Gdybyś wczesniej wpadł tutaj, to byś wiedział, że edytował pytanie;-) Tyczyło się to 9 linii , która też została zmodyfikowana.

Pozdrawiam.
komentarz 23 kwietnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Aha ok :) ciekawe czy doprowadził ten kod do ładu ale wątpie :P
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)

Też jestem ciekaw:) Trzymam kciuki aby się udało. 

$polaczeni = ['g'];

komentarz 23 kwietnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
No utworzenie tablicy zawierającej literkę g jest niezbędne w tym skrypcie hehe :) No ale początki są zawsze trudne :P Ogólnie to cały jest do napsiania od nowa po linijce 6 bo to co tam się dzieje to naukowy zawrót głowy
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
No niestety :) Wbij na chat czasem xd
komentarz 23 kwietnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Zawitam na pewno, dzisiaj dopiero odkryłem tą stronkę :)
+1 głos
odpowiedź 21 kwietnia 2015 przez Hubert Murawski Stary wyjadacz (11,990 p.)

Funkcja obsługuje tylko zmiene globalne "$polaczenie" nie jest zmienną globalną, czyli PHP jej nie widzi. http://php.net/manual/en/language.variables.scope.php

0 głosów
odpowiedź 21 kwietnia 2015 przez Tomasz90 Nałogowiec (25,140 p.)
$q() - bez nawiasów skoro to zmienna
komentarz 21 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,710 p.)
edycja 21 kwietnia 2015 przez Mateusz Analityk
to nie to ...no ale szukam dalej zapewne jes więcej błędów

a jak jest z tymi funkcjami czemu dopiero jak prześle zmienną $_POST to mogę w funkcji wykonać połączenie z bazą danych? baz tej linijki wykonuje się błąd nieznaleziono zmiennej
0 głosów
odpowiedź 21 kwietnia 2015 przez Wally Bywalec (2,840 p.)

Średnika Ci brakuje w linii po pokaz(). Błąd jest logiczny. Parser nie spodziewał się po kodzie

$polaczenie = $_POST [$polaczenie]

.. nie spodziewał się po tym kodzie tego:

$q = polaczenie->query('SELECT * FROM pytania');

Napisałeś coś takiego:

$polaczenie = $_POST [$polaczenie]$q = polaczenie->query('SELECT * FROM pytania');

unexpected '$q' (T_VARIABLE) - nieoczekiwana zmienna w tym miejscu

Brakuje średnika po prostu.

komentarz 21 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,710 p.)
edycja 21 kwietnia 2015 przez Mateusz Analityk
wiem jak mogłm przeoczyć ...
0 głosów
odpowiedź 22 kwietnia 2015 przez Ehlert Ekspert (212,670 p.)
W pierwszym if'e dodaj DIE.

Podobne pytania

0 głosów
3 odpowiedzi 5,318 wizyt
0 głosów
1 odpowiedź 787 wizyt
0 głosów
2 odpowiedzi 181 wizyt
pytanie zadane 14 stycznia 2017 w JavaScript przez PelikanFix16 Użytkownik (950 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...