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

PHP Czemu tutaj jest blad

Object Storage Arubacloud
0 głosów
254 wizyt
pytanie zadane 15 stycznia 2016 w PHP przez gab123 Mądrala (5,230 p.)

Mam problem z tym że pokazuje mi się lista błędów na temat linii 10 w moim kodzie. Jestem dopiero początkująca i proszę o pomoc to błędy :

Notice: Array to string conversion in C:\wamp\www\EgzaminZInformatyki\index.php on line 10
Call Stack
# Time Memory Function Location
1 0.0000 137776 {main}( ) ..\index.php:0

A to kod :

<?php
require_once "connect.php" ;
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); 
	if ($polaczenie->connect_errno == 0) {
		$i ;
		for($i=0;$i<10;$i++) {
			
			$liczbaLosowa = rand(0,20) ;
			$id[$i] = $liczbaLosowa ;
			if($result = $polaczenie->query("SELECT * FROM pytania WHERE id = '$id [i]'")){
				if ($result->num_rows >0){
					$assoc = $result -> fetch_assoc();
					echo "assoc['tresc']" . '</br>' . "a)" . "<input type = \"radio\" value=\"assoc ['odpa']\" name = \"\'a\'+i" . "b)" . "<input type = \"radio\" value=\"assoc ['odpb'] name = \"\'odpb\'+i\"" . '</br>'. "c)" . "<input type = \"radio\" value=\"assoc ['odpc']\ name = \"\'c\'+i" . "d)" . "<input type = \"radio\" value=\"assoc ['odpd']\ name = \"'d'+i\"" ;
				}
			}
			
			else {
				echo 'BLAD !!' ;
				}
	}
	echo "<input type = 'button' onclick = 'sprawdz' value = 'sprawdz'/>" ;
}
			
	else{
		echo "ERROR : " . connect_errno ;
}
?>

 

3 odpowiedzi

+1 głos
odpowiedź 15 stycznia 2016 przez mbabane Szeryf (79,280 p.)
wybrane 17 stycznia 2016 przez gab123
 
Najlepsza

a czy spacja po miedzy $id a [i] (o i piszac to zauwazylem ze przy nie ma $) ma znaczenie?

"SELECT * FROM pytania WHERE id = '$id [i]'"

komentarz 15 stycznia 2016 przez gab123 Mądrala (5,230 p.)
Dziękuje jesteś geniuszem ! zeczywiście przeoczyłam $. Już nie mam tego bladu ale zapytanie caly czas nie działa wiesz może czy jest w nim jakiś inny błąd ?
komentarz 15 stycznia 2016 przez mbabane Szeryf (79,280 p.)
edycja 17 stycznia 2016 przez mbabane
nie, wszyskto wyglada ok, moze cos z baza danych jest nie tak, moze pomyliles nazwe tabeli, albo pola
+4 głosów
odpowiedź 15 stycznia 2016 przez efiku Szeryf (75,160 p.)
edycja 15 stycznia 2016 przez efiku

Ale przecież dokładnie Ci wskazuje miejsce błędu.

  • 1. linia 9: $id[$i] = $liczbaLosowa ;
  • 2 linia 10: Warunek i zapytanie ->

 

"SELECT * FROM pytania WHERE id = '$id [i]'"

Zmienna id jest tablicą, tylko po co Ci taka konstrukcja, skoro i tak pobierasz z liczby losowej? Moim zdaniem przekombinowane.

Lepiej w zapytaniach "mówić" co dokładnie chce się pobrać niż *

 

3: Gubisz dolary $ Lepiej łączyć w echo za pomocą {}

Typy zmiennych - String :: Kurs PHP

Ale najlepiej to w ogóle nie mieszać HTML z PHP, niech się tym zajmie Twig ( system szablonów )

 

4. Zamień mysqli (szkoda zabawy) na PDO i wywal małpy z kodu.  

5:  Ja bym to zmienił na takie coś:

https://gist.github.com/7e6e4738b7f43619b43c

 

To całe wyświetlanie z bazy też chyba masz źle, wg PHPStorma zwróci Ci coś takiego:

https://3v4l.org/JdL57

Linia 25, nie ma czegoś takiego jak connect_errno

Pozdrawiam.

komentarz 15 stycznia 2016 przez efiku Szeryf (75,160 p.)
–1 głos
odpowiedź 15 stycznia 2016 przez KubenQPL Maniak (62,820 p.)
spróbuj if($result == $polaczenie...

Jeśli przyrównujesz w if'ie to musisz użyć 2 znaków "=".
komentarz 15 stycznia 2016 przez Mateusz11 Pasjonat (22,910 p.)

Kolega dobrze mówi, lecz uzywanie malpy 

$polaczenie = @new mysli

jest troche barbarzynskie.Teraz uzywa sie klauzul: 

try
{

}
catch
{

}

 

komentarz 15 stycznia 2016 przez gab123 Mądrala (5,230 p.)
ja nie poruwnoje tylko przypisuje i sprawdzam czy przypisanie się udało i zwrocilo wartość true.(: Dlatego też pojedynczy znak =

Podobne pytania

+1 głos
2 odpowiedzi 138 wizyt
pytanie zadane 26 lutego 2016 w PHP przez KariK-02 Mądrala (6,030 p.)
0 głosów
3 odpowiedzi 309 wizyt
pytanie zadane 22 stycznia 2019 w PHP przez matilogias Obywatel (1,550 p.)
+1 głos
4 odpowiedzi 549 wizyt

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 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!

...