Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Nie dodaje rekordu ;x - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Nie dodaje rekordu ;x (/thread-nie-dodaje-rekordu-x)



Nie dodaje rekordu ;x - Intelactive - 05-12-2012

Witam. Jestem pewien , że skrypt działa w 100%.

Kod PHP:
<?PHP
                                $formularz 
'
                                <form action="?do=add_comment" method="post">
                                <input type="text" name="add" value="Dodał"><br />
                                <textarea name="text" cols="65" rows="3">Treść komentarza. Max. 255 znaków.</textarea><br />
                                <input type="submit" name="submit" value="Dodaj">
                                </form>
                                '
;
                                                                
$add addslashes(htmlspecialchars($_POST['add']));
                                
$text addslashes(htmlspecialchars($_POST['text']));
            
                                
                                if(isset(
$_POST['submit'])) {
                                
$zapytanie = @mysql_query("INSERT INTO comments SET article_id='$id', text='$text', add='$add', data=now()");
                                echo 
mysql_error();
                                echo 
'<br>Pomyślnie dodano komentarz!';
                                } else {
                                echo 
$formularz; }
                                
                                
?>

Struktura tabeli:
Kod PHP:
CREATE TABLE `comments` (
  `
idint(11NOT NULL AUTO_INCREMENT,
  `
article_idint(11NOT NULL,
  `
titlevarchar(50NOT NULL,
  `
texttext NOT NULL,
  `
addvarchar(50NOT NULL,
  `
datadatetime NOT NULL,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 

Błąd:
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 'add='Dodał', data=now()' at line 1

Hmm, co jest nie tak?


RE: Nie dodaje rekordu ;x - andrzejhi - 05-12-2012

Ja obstawiam że chodzi o now(). sprawdź czy nie powinny być w apostrofach.


RE: Nie dodaje rekordu ;x - Intelactive - 05-12-2012

Niestety to nie to.


RE: Nie dodaje rekordu ;x - Pedro84 - 05-12-2012

Było sobie po prostu dodać to zapytanie w jakimś managerze bazy danych, to byś chociażby po kolorowaniu składni wiedział co jest nie tak:

W zapytaniu używasz zarezerwowanych słów kluczowych dla MySQL: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html. Nazwy kolumn umieść w backtick'ach - lewcyh apostrofach, np. `article_id`='$id', etc.


RE: Nie dodaje rekordu ;x - andrzejhi - 07-12-2012

hehe ale to proste.