Autor | Zpráva | ||
---|---|---|---|
vitekt Profil * |
#1 · Zasláno: 12. 2. 2012, 18:01:19
Zdravím chtěl bych se jen zeptat jeslti tato chybová hláška, která se objeví pouze když v array $data nenalezne $obsah. Warning: in_array() expects parameter 2 to be array, boolean given in ./plugin/vloz_komentar.php on line 19. Vše jinak funguje správně. Doufám, že to někdo pochopíte. Díky
if (in_array($obsah, $data)) |
||
Str4wberry Profil |
#2 · Zasláno: 12. 2. 2012, 18:04:16
Zkus si tu chybovou hlášku přečíst, případně přeložit.
|
||
vitekt Profil * |
#3 · Zasláno: 12. 2. 2012, 18:10:56
No to mě moc nepomáhá
|
||
Taps Profil |
#4 · Zasláno: 12. 2. 2012, 18:12:28
vitekt:
2. parametr ve funkci in_array musí být pole |
||
vitekt Profil * |
#5 · Zasláno: 12. 2. 2012, 18:15:44
No a copak když beru data z databáze
$q = mysql_query("SELECT * FROM komentare where autor = '$autor' AND obsah = '$obsah'") or die(mysql_error()); $data=mysql_fetch_array($q); tak by to mělo být pole ne? Ale není to teda tím, že když tam nejesou žádný data, tak to potom není polo a v tom je celej problém? |
||
Taps Profil |
#6 · Zasláno: 12. 2. 2012, 18:31:40
vitekt:
$q = mysql_query("SELECT * FROM komentare where autor = '$autor' AND obsah = '$obsah'") or die(mysql_error()); while( $data=mysql_fetch_array($q){ $pole[]=$data['autor']; } if(is_array($pole)){ if (in_array($obsah, $pole)) { .... } } |
||
Bertram Profil |
#7 · Zasláno: 12. 2. 2012, 18:32:26
vitekt:
Ahoj, když tam žádný záznam není, fce vrací false, a také to vypadá na špatný návrh databáze. |
||
vitekt Profil * |
#8 · Zasláno: 12. 2. 2012, 18:39:13
BertramNo né normálně tam záznamy jsou, ale pak když tam dám podmínku where tak to tam nemusí najít žádný záznam, nebo přesně o tom mluvíš? :D
|
||
Bertram Profil |
#9 · Zasláno: 12. 2. 2012, 18:50:28
vitekt:
Jestli dobře chápu, že v $obsah bude text komentáře, tak ti bude dotaz vracet shodné komentáře, které stejný autor odeslal vícekrát. S tím špatný návrh databáze jsem se asi trochu unáhlil, ale ty podmínky mě praštily do očí a myslel jsem si, že máš více tabulek v jedné. |
||
vitekt Profil * |
#10 · Zasláno: 12. 2. 2012, 18:52:36
Bertram:
jj chápeš to správně, právě nejsem nějak moc zdatnej v php a tohle je jediný řešení co mě napadlo |
||
Bertram Profil |
#11 · Zasláno: 12. 2. 2012, 19:06:10
vitekt:
Jestli chceš takto ošetřovat vícenásobné odesílání formuláře, tak nemusíš ani používat funkci in_array() ale pouze if() popř, !if(), nebo v db unikátní klíč přes dva sloupečky. |
||
Časová prodleva: 12 let
|
0