Oznámení
Omlouváme se, provoz fóra byl ukončen
Problém s insert pri TinyMCE
Upozornění: Tohle vlákno je hodně staré.
před 10 lety
- branov
- Člen | 18
Zdravím,
mám taký menší problém s dibi, pri vkladaní textu formátovaného
v TinyMCE do databázi.
Dibi pri inserte hodí nasledovnú chybu:
Fatal error: Uncaught exception 'DibiDriverException' with message '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 'VALUES ('testovaci produktsk', '<p><span style=\\\"font-family: "Book Antiq' at line 1' in /home/freesh.sk/snowboard/dibi/drivers/mysql.php:173 Stack trace: #0 /home/snowboard/dibi/libs/DibiConnection.php(341): DibiMySqlDriver->query('INSERT INTO `pr...') #1 /home/snowboard/dibi/libs/DibiConnection.php(255): DibiConnection->nativeQuery('INSERT INTO `pr...') #2 /home/snowboard/dibi/dibi.php(295): DibiConnection->query(Array) #3 /home/snowboard/admin.php(145): dibi::query('INSERT INTO [pr...', Array) #4 {main} SQL: INSERT INTO `produkty` VALUES (`nazov`, `popis`, `cislo`) VALUES ('testovaci produktsk', '<p><span style=\\\"font-family: "Book Antiqua", "palatino";\\\"><span style=\\\"font-size: large;\\\">úška textu aj</span></span> <strong>s forma in /home/snowboard/dibi/drivers/mysql.php on line 173
Prosím, neviete mi poradiť ako to fixnúť? AKo som si všimol, dibi ošetruje vstupy do db proti html znakom, takže neviem, či nebude problém práve v tom.
Vďaka.
před 10 lety
- Tomik
- Nette Evangelist | 489
Ukaž kód.
před 10 lety
- branov
- Člen | 18
Veľmi jednoduchý:
<?php
$values = array(
'nazov' => $nazov,
'popis' => $popis,
'cislo' => $cislo_produktu);
$insert = dibi::query('INSERT INTO [produkty] VALUES ',$values);
?>
Premenna $popis obsahuje text sformatovani cez TinyMCE ( $_POST[‚popis‘] ).
TinyMCE je volany takto:
<script type="text/javascript" src="./include/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
// Default skin
tinyMCE.init({
mode : "exact",
elements : "elm1",
theme : "advanced",
skin : "o2k7",
skin_variant : "blue",
plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview",
theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,|,ltr,rtl,|,fullscreen,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,nonbreaking,forecolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : false,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
před 10 lety
- branov
- Člen | 18
nikto nic? :-(
před 10 lety
- Ola
- Člen | 389
Chyba je v tom dibi::query – musíš tam mít jen
<?php
dibi::query("INSERT INTO [table]", $values);
?>
Tím pádem Ti to zdvojilo VALUES a už to křičelo :)
Editoval Ola (29. 11. 2009 9:13)
před 10 lety
- branov
- Člen | 18
ajéje :-) vďaka… fakt som bol asi slepý keď som si to nevšimol :-)
Ďakujem.