Zadejte hledaný výraz...

PHP a MYSQL error co nevidim

Michael
verified
rating uzivatele
(3 hodnocení)
24. 10. 2014 23:39:31
Zdravím, v code
$result = mysql_query("SELECT * FROM 'gm-team' ORDER BY id DESC");
while ($row = mysql_fetch_array($result))
{
?>
| | |
}
?>
mi to vyhazuje Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:xampphtdocssadminpanelpagemain.php on line 119
Radek 119 je while ($row = mysql_fetch_array($result))
kde vidíte chybu vy ?
24. 10. 2014 23:39:31
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063851
naniccz
verified
rating uzivatele
(3 hodnocení)
24. 10. 2014 23:41:52
24. 10. 2014 23:41:52
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063850
Michael
verified
rating uzivatele
(3 hodnocení)
24. 10. 2014 23:43:13
upraveno na gm-team a porad blbne
24. 10. 2014 23:43:13
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063849
naniccz
verified
rating uzivatele
(3 hodnocení)
24. 10. 2014 23:45:43
tak mezi řádky 118 a 119 dej
24. 10. 2014 23:45:43
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063848
Michael
verified
rating uzivatele
(3 hodnocení)
25. 10. 2014 00:19:07
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''gm-team' ORDER BY id DESC' at line 1
25. 10. 2014 00:19:07
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063847
naniccz
verified
rating uzivatele
(3 hodnocení)
25. 10. 2014 00:21:08
25. 10. 2014 00:21:08
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063846
Michael
verified
rating uzivatele
(3 hodnocení)
25. 10. 2014 00:22:23
SUPER Dekuju
---------- Příspěvek doplněn 25.10.2014 v 01:04 ----------
Ještě jedna chybka
CODE:
if($_GET == "vyhodit"){
$id = $_GET;
$accid = $_GET;
$name = $_GET;
mysql_query("DELETE FROM `gm-team` WHERE id='$id'");
mysql_query("DELETE FROM `account_access` WHERE id='$accid'");
echo "
DELETE `gm-team` WHERE id='$id' is OK
";
echo "
DELETE `account_access` WHERE id='$accid' is OK

";
echo "
GameMaster jménem $name byl vyhozen !
";
}
Neudělá to požadovanou funkni, tzn neprovede to sql příkaz a nenapíše to nic
GET Odkaz
http://127.0.0.1/Web/admin/panel/akce.php?akce=vyhodit?id=11?accid=11?gm-name=Blueberry?gm-lvl=1
25. 10. 2014 00:22:23
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063845
pak
verified
rating uzivatele
25. 10. 2014 04:06:55
ten GET vypada podivne, zrejme by mel vypadat takhle:
http://127.0.0.1/Web/admin/panel/akce.php?akce=vyhodit&id=11&accid=11&gm-name=Blueberry&gm-lvl=1
ale hlavne takhle to je jako cednik, pokud nevis co a jak aby to bylo bezpecny, tak se na to radsi vykasli nebo poradne nastuduj problematiku...
25. 10. 2014 04:06:55
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063844
laksdklasd
verified
rating uzivatele
25. 10. 2014 08:07:55
Najdi si: Mysql injection.
25. 10. 2014 08:07:55
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063843
Smazany ucet 253
verified
rating uzivatele
(3 hodnocení)
31. 10. 2014 02:12:26
Uff, to je děravý kód, který by neměl ani začátečník vůbec napsat. Je nutné nastudovat SQL injection, jak radí ostatní...
SQL příkazy s přímým vstupem proměnných do databáze typu: DELETE FROM g-team WHERE id='$_GET' může způsobit, že ti zkušenější osoba smaže celou databázi a zakáže ti tam klidně přístup pouhou změnou URL adresy. Vždy je potřeba parametry GET nebo POST ošetřit. Pro číselné hodnoty alespoň $id = (int)$_GET; pro řetězec doporučuji používat mysqli_real_escape_string($link, $_GET);
používání funkcí mysql je potřeba nahradit mysqli (mysql je zastaralé a bude brzy odstraněno z PHP). A pro správnou funkčnost mysqli_real_escape_string je potřeba nastavit znakovou sadu přes mysqli_set_charset($link, "utf8"); a to hned za připojením do databáze: $link = mysqli_connect('server','uživatel','heslo','jméno databáze');
Jinak k té chybě ... myslím si, že máš chybu v těch apostrofech, protože ID bývá v databázi většinou typu INT ...
mysql_query("DELETE FROM `gm-team` WHERE id='$id'");
mysql_query("DELETE FROM `account_access` WHERE id='$accid'");
přepiš na
mysql_query("DELETE FROM gm-team WHERE id={$id}");
mysql_query("DELETE FROM account_access WHERE id={$accid}");
ty složené závorky jsou jen a pouze (pro mě) přehlednější, že vkládám do řetězce nějakou proměnnou ...
pokud kód nepíše vůbec nic, pak obsahuje chybu a chyby jsou vypnuty. Na začátek programu si dej toto:
error_reporting(E_ALL);
a při testování si dej za každý mysqli_query výpis chyb z MySQL například echo mysqli_error($link);
---------- Příspěvek doplněn 31.10.2014 v 02:21 ----------
výsledný kód by mohl vypadat třeba takto:
31. 10. 2014 02:12:26
https://webtrh.cz/diskuse/php-a-mysql-error-co-nevidim#reply1063842
Pro odpověď se přihlašte.
Přihlásit