Autor | Zpráva | ||
---|---|---|---|
Pavlínka Profil |
#1 · Zasláno: 6. 8. 2017, 15:27:51
$mysql_server="46.xx.xx.xx"; $mysql_user="data"; $mysql_password="nejakeheslo"; $spojeni=mysql_connect("$mysql_server","$mysql_user","$mysql_password") or die(myql_error($db)); $youip=$_SERVER["REMOTE_ADDR"]; $time=time(); mysql_query("INSERT INTO `$mysql_user`.`sleduj` (`id`, `user`, `program`, `time`, `ip`) VALUES (NULL, '$iduser', '$id', '$time', '$youip');", $spojeni); řádek s mysql_query však hodí chybu: [Sun Aug 06 15:21:47.123063 2017] [:error] [pid 27624] [client 37.48.xx.xx:47968] PHP Warning: mysql_query() expects parameter 2 to be resource, boolean given in ... nevidím tam chybu a na netu nic moc kloudného není... neví někdo kde je problém? kují |
||
T-fon Profil |
#2 · Zasláno: 6. 8. 2017, 18:28:42
Ten řádek je hodně záhadnej a těch chyb je tam spousta.
Nicméně pro tebe nemá smysl se tím zabývat, s mysql_query už v dnešní době nic nevytvoříš, udělej to celé pomocí knihovny PDO, nebo mysqli. |
||
Pavlínka Profil |
#3 · Zasláno: 6. 8. 2017, 18:46:12
ono to do mysql normálně zapisuje ale vyhazuje to tuto chybu ... jen nechápu proč :D jak to tedy zapsat líp?
na mysql nevidím nic špatného |
||
TomášK Profil |
Vždyť to tam přesně píše, proč.
mysql_query() expects parameter 2 to be resource, boolean given To znamená, že parametr 2, tedy $spojeni je boolean. To je pravděpodobně špatně. Odkud se to vzalo?
$spojeni=mysql_connect("$mysql_server","$mysql_user","$mysql_password") or die(myql_error($db)); Na pravé straně je podmínka ... or ... , tedy její výsledek je boolean.
mysql_* není podporované v současné verzi PHP. |
||
Pavlínka Profil |
#5 · Zasláno: 6. 8. 2017, 19:06:54
nepoužívám nenovější php :)
jednoznačně jsem chybu v spojení našla :) |
||
pcmanik Profil |
Pavlínka:
Čize používaš zastaralú verziu PHP na ktorú už niesu vydávaná ani bezpečnostné záplaty? To smrtí prúserom. Rodina funkcií z mysql_* bola označená ako deprecated už vo verzii PHP 5.5. A posledná aktuálne podporovaná PHP verzia je 5.6.*. A zlé je na tom to, že mysql_* nieje objektové, nepodporuje viaceré funkcie ktoré PDO a mysqli zvláda, atď. Viac tu. |
||
Keeehi Profil |
#7 · Zasláno: 6. 8. 2017, 21:41:56
TomášK:
„Na pravé straně je podmínka ... or ... , tedy její výsledek je boolean.“
To tak úplně není pravda. Nejdříve se vyhodnotí to přiřazení a pak až následně se přistupuje k vyhodnocení operátoru or. Aby se nejdříve vyhodnotilo or, musel by jsi to uzávorkovat. Pavlínka: Myslím, že zrovna tobě může být nějaká objektovost úplně jedno. Je však pravda, že mysql_* funkce by se dnes už neměly používat. Nikdy nevíš, kdy se tvůj poskytovatel webhostingu rozhodne upgradovat verzi PHP a tobě přestanou fungovat stránky. Nejlepší pro tebe bude použít funkce mysqli_*. Jsou velmi podobné funkcím rodiny mysql_* a tak přechod by pro tebe neměl být velký problém. Navíc se dají používat nejen objektově, ale i postaru procedurálně. |
||
TomášK. Profil * |
#8 · Zasláno: 7. 8. 2017, 11:15:04
Keeehi:
Dík za opravu. Chtěl jsem tam vidět boolean, tak jsem ho tam našel, i když to je samozřejmě špatně. |
||
Časová prodleva: 5 let
|
0