Check-in [3dce979214]
Not logged in
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
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.