summaryrefslogtreecommitdiff
path: root/ext/fbsql/php_fbsql.c
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2001-03-22 21:16:23 +0000
committerFrank M. Kromann <fmk@php.net>2001-03-22 21:16:23 +0000
commit8bea574877122fbb99af633bf09e825c1b59aa4d (patch)
tree4cdf009899aa72ea36389932a6e59cd84029c345 /ext/fbsql/php_fbsql.c
parent4549e389bb9309617e69339d0da85523bcd451f4 (diff)
downloadphp-git-8bea574877122fbb99af633bf09e825c1b59aa4d.tar.gz
Adding warning when query fails
Diffstat (limited to 'ext/fbsql/php_fbsql.c')
-rw-r--r--ext/fbsql/php_fbsql.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index 28992c5b04..7d62b83f11 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -788,7 +788,6 @@ PHPFBDatabase* phpfbSelectDB
fbcdcClose(c);
fbcdcRelease(c);
free(result);
-/* printf("Returning Null\n"); */
return NULL;
}
result->retainCount = 2;
@@ -813,7 +812,6 @@ PHPFBDatabase* phpfbSelectDB
link->databases[i] = result;
FB_SQL_G(databaseCount)++;
-/* printf("Return database %x %x\n",result,c); */
}
link->currentDatabase = result;
return_value->value.lval = result->index;
@@ -1515,6 +1513,26 @@ PHPFBResult* phpfbQuery(INTERNAL_FUNCTION_PARAMETERS, char* sql, PHPFBDatabase*
meta = fbcdcExecuteDirectSQL(database->connection,sql);
+ if (fbcmdErrorCount(meta) > 0) {
+ FBCErrorMetaData *errorMeta;
+ char *errorMessage;
+ unsigned error_type = 0;
+
+ errorMeta = fbcdcErrorMetaData(database->connection, meta);
+ error_type = fbcemdErrorCodeAtIndex(errorMeta, 0);
+ errorMessage = fbcemdAllErrorMessages(errorMeta);
+ if (error_type != 250) {
+ php_error(E_WARNING, "Error executing SQL-statement (%s)", sql);
+ }
+// free(errorMessage);
+ fbcemdRelease(errorMeta);
+
+ if (error_type != 250) {
+ fbcmdRelease(meta);
+ return NULL;
+ }
+ }
+
if (fbcmdHasMetaDataArray(meta)) {
sR = fbcmdMetaDataArrayCount(meta);
md = (FBCMetaData*)fbcmdMetaDataAtIndex(meta, cR);