21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
joker2626
Profil
Č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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0