• 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
271 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 143 wizyt
pytanie zadane 26 lutego 2016 w PHP przez KariK-02 Mądrala (6,030 p.)
0 głosów
3 odpowiedzi 318 wizyt
pytanie zadane 22 stycznia 2019 w PHP przez matilogias Obywatel (1,550 p.)
+1 głos
4 odpowiedzi 573 wizyt

92,691 zapytań

141,603 odpowiedzi

320,103 komentarzy

62,051 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

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!

...