tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

chyba pri sql update vo web aplikacii

před 8 lety

bimbo34
Člen | 4

dobry den, mam taky problem, ze mi neprebehol skript v php a skoncil s chybami aj ked mi v M SQL Serveri zbehol. tu je skript:

dibi::query(„INSERT INTO udoklady
(oscislo,
rok,
agenda,
doklad,
skupina,
cispob,
datum,
datvyst,
datdph,
dicv,
ico,
dic,
varsymb,
datspl,
schvalit,
uctovat,
strana,
ucet,
vypocet,
danovy,
bucet,
kodb,
specsymb,
ksymb,
foruhr,
text)
VALUES
(13,
2011,
‚F‘,
%i,
%i,
0,
GETDATE(),
GETDATE(),
GETDATE(),
'',
'',
'',
999,
GETDATE(),
1,
0,
‚X‘,
'',
‚D‘,
0,
'',
'',
'',
'',
0,
‚DS‘)“,intval($posledny_doklad[‚doklad‘])+1,intval($skupina));

a tu chyby:
Fatal error: Uncaught exception ‚DibiDriverException‘ with message ‚The statement has been terminated.‘ in C:\XAMPP\xampp\htdocs\Bakalarka\dibi\drivers\mssql.php:100 Stack trace: #0 C:\XAMPP\xampp\htdocs\Bakalarka\dibi\libs\DibiConnection.php(345): DibiMsSqlDriver->query(‚INSERT INTO udo…‘) #1 C:\XAMPP\xampp\htdocs\Bakalarka\dibi\libs\DibiConnection.php(256): DibiConnection->nativeQuery(‚INSERT INTO udo…‘) #2 C:\XAMPP\xampp\htdocs\Bakalarka\dibi\dibi.php(297): DibiConnection->query(Array) #3 C:\XAMPP\xampp\htdocs\Bakalarka\index.php(144): dibi::query(‚INSERT INTO udo…‘, 1, 0) #4 {main} SQL: INSERT INTO udoklady (oscislo, rok, agenda, doklad, skupina, cispob, datum, datvyst, datdph, dicv, ico, dic, varsymb, datspl, schvalit, uctovat, strana, ucet, vypocet, danovy, bucet, kodb, specsymb, in C:\XAMPP\xampp\htdocs\Bakalarka\dibi\drivers\mssql.php on line 100

před 8 lety

Milo
Nette Core | 1119

Zkus to, prosím tě, naformátovat, ať je to lépe čitelné. A je to MySQL nebo MSSQL? Definice tabulky?

Google prozradil, že tento error na MSSQL vzniká, pokud se snažíš zapsat data delší než je definice sloupce.

před 8 lety

bimbo34
Člen | 4

je to MSSQL. dufam ze to je citatelnejsie… ide o to ze ked namiesto tych premennych tam napisem natvrdo hodnoty tak to ide.

dibi::query(„INSERT INTO udoklady
(oscislo,
rok,
agenda,
doklad,
skupina,
cispob,
datum,
datvyst,
datdph,
dicv,
ico,
dic,
varsymb,
datspl,
schvalit,
uctovat,
strana,
ucet,
vypocet,
danovy,
bucet,
kodb,
specsymb,
ksymb,
foruhr,
text)
VALUES (
13,
2011,
‚F‘,
%i,
%i,
0,
GETDATE(),
GETDATE(),
GETDATE(),
'',
'',
'',
999,
GETDATE(),
1,
0,
‚X‘,
'',
‚D‘,
0,
'',
'',
'',
'',
0,
‚DS‘)“,intval($posledny_doklad[‚doklad‘])+1,intval($skupina));

před 8 lety

Milo
Nette Core | 1119

Zkus dibi::test('INSERT INTO .....'); a pak ten INSERT spustit ručně.