Autor | Zpráva | ||
---|---|---|---|
joker2626 Profil |
#1 · Zasláno: 29. 7. 2015, 11:32:52
Čau, udělal jsem si jednoduchý script na na uložení zprávy do DB. Script funguje, zpráva se mi do DB uloží ale hází to chybovou hlášku "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data/web/virtuals/156857/virtual/www/domains/myweb/includes/contact.php on line 16" a nemůžu se jí zbavit, zkoušel jsem vše co jsem k tomu zde na fóru našel a nic nepomohlo.
<?php require_once "config.php"; SetLocale(LC_ALL, "Czech"); if(isset($_POST['submit'])){ mysql_connect($server_ip, $select_username, $select_pass); mysql_select_db($db_name); $post_date = StrFTime("%d.%m. %Y"); $email = $_POST['email']; $message = $_POST['content']; $query = mysql_query("INSERT INTO contact ('date', 'email', 'message') VALUES ('$post_date', '$email', '$message')"); $fetch = mysql_fetch_array($query); echo "Zpráva odeslána."; } ?> 16. řádek by měl být $fetch = mysql_fetch_array($query); Další problém je, že se mi zpráva do DB uloží bez diakritiky, místo +ěščšřčžýáí mám v DB ěšÄřžýá. Už si s tím nevím rady, budu rád za každou pomoc. Předem děkuji. |
||
Alphard Profil |
#2 · Zasláno: 29. 7. 2015, 11:37:45
Proč tam mysql_fetch_array vůbec je? Insert nevrací resource, jen true/false.
Některé časteji řešené dotazy pro MySQL - FAQ » MySQL a čeština |
||
nightfish Profil |
#3 · Zasláno: 30. 7. 2015, 17:30:48
Kromě výše uvedeného je taky chyba v dotazu: názvy sloupců se uvozují zpětným apostrofem (backtick). Správně tedy:
$query = mysql_query("INSERT INTO contact (`date`, `email`, `message`) VALUES ('$post_date', '$email', '$message')"); A také: databázový dotaz v této podobě je náchylný na SQL injection. |
||
Časová prodleva: 8 let
|
0