|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 22 Jan 2007 16:37:17 To : Andrew Alakozow Subject : Re: DBI || DBD::MySQL -------------------------------------------------------------------------------- Andrew Alakozow -> All @ Mon, 22 Jan 2007 10:31:33 +0300: >> PS: ошибка при выполнении такая: >> Can't execute 'update basket set count=count+?,date=now() where sid=? and >> code=?': 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 >> '",date=now() where sid='f28ae15d94aa56d35bd108b02280c024' and c at >> dviglo.inc.pl line 66 >> >> это вместо первого числового параметра было передано число и двойная >> кавычка... AA> DBD пытается определить тип данных, чтобы правильно сформировать запрос. AA> Если в данных есть нецифровые символы, то он считает, что это строка и AA> ставит в одинарные кавычки. Тип можно задавать и вручную, но 'update AA> basket set count=count+"1' - это в любом случае неверное SQL-выражение. Вообще-то DBD-драйвер должен корректно экранировать данные, а не просто ставить их в одинарные кавычки. В диагностике мы видим, что он этого не сделал. Видимо, данная версия драйвера глючна. Больше похоже на то, что он в данном случае наоборот, вычисляет тип по запросу, и видя, что там int, не экранирует. Что можно было бы делать, если бы он проверял переданный параметр... -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Современной называется технология, которую пытаются совать во все дырки независимо от того, заточена она под них или нет. Д. Белявский --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/25606ee950285.html, оценка из 5, голосов 10
|