Overview
SHA1 Hash: | 3dce979214cc309749697d2982c77fac896ebada |
---|---|
Date: | 2008-05-24 13:30:36 |
User: | drh |
Comment: | When reporting database errors in CGI mode, make sure the CGI header comes out first. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified src/db.c from [25b959eccd] to [c256ad6ad7].
@@ -65,12 +65,12 @@ va_start(ap, zFormat); z = vmprintf(zFormat, ap); va_end(ap); if( g.cgiPanic ){ g.cgiPanic = 0; - cgi_printf("<p><font color=\"red\">%h</font></p>", z); - style_footer(); + cgi_printf("<h1>Database Error</h1>\n" + "<pre>%h</pre>", z); cgi_reply(); }else{ fprintf(stderr, "%s: %s\n", g.argv[0], z); } db_force_rollback(); @@ -177,11 +177,11 @@ blob_zero(&pStmt->sql); blob_vappendf(&pStmt->sql, zFormat, ap); va_end(ap); zSql = blob_str(&pStmt->sql); if( sqlite3_prepare_v2(g.db, zSql, -1, &pStmt->pStmt, 0)!=0 ){ - db_err("%s\n%s", zSql, sqlite3_errmsg(g.db)); + db_err("%s\n%s", sqlite3_errmsg(g.db), zSql); } pStmt->pNext = pStmt->pPrev = 0; return 0; } int db_prepare(Stmt *pStmt, const char *zFormat, ...){ @@ -211,11 +211,11 @@ ** Return the index of a bind parameter */ static int paramIdx(Stmt *pStmt, const char *zParamName){ int i = sqlite3_bind_parameter_index(pStmt->pStmt, zParamName); if( i==0 ){ - db_err("no such bind parameter: %s\n%b", zParamName, &pStmt->sql); + db_err("no such bind parameter: %s\nSQL: %b", zParamName, &pStmt->sql); } return i; } /* ** Bind an integer, string, or Blob value to a named parameter.