| 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: 11 let
|
|||
0