-
-
Save keyurdg/60e9fb2f97c45c725458 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c | |
index 19f9fe4..b9bee96 100644 | |
--- a/ext/odbc/php_odbc.c | |
+++ b/ext/odbc/php_odbc.c | |
@@ -951,14 +951,15 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC) | |
SQLUSMALLINT colfieldid; | |
int charextraalloc; | |
- colfieldid = SQL_COLUMN_DISPLAY_SIZE; | |
- charextraalloc = 0; | |
result->values = (odbc_result_value *) safe_emalloc(sizeof(odbc_result_value), result->numcols, 0); | |
result->longreadlen = ODBCG(defaultlrl); | |
result->binmode = ODBCG(defaultbinmode); | |
for(i = 0; i < result->numcols; i++) { | |
+ charextraalloc = 0; | |
+ colfieldid = SQL_COLUMN_DISPLAY_SIZE; | |
+ | |
rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_NAME, | |
result->values[i].name, sizeof(result->values[i].name), &colnamelen, 0); | |
rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_TYPE, | |
diff --git a/ext/odbc/tests/bug68087.phpt b/ext/odbc/tests/bug68087.phpt | |
new file mode 100644 | |
index 0000000..3bc1812 | |
--- /dev/null | |
+++ b/ext/odbc/tests/bug68087.phpt | |
@@ -0,0 +1,57 @@ | |
+--TEST-- | |
+odbc_exec(): Getting accurate date data from query | |
+--SKIPIF-- | |
+<?php include 'skipif.inc'; ?> | |
+--FILE-- | |
+<?php | |
+ | |
+include 'config.inc'; | |
+ | |
+$id_1_date = '2014-09-23'; | |
+$id_2_date = '2014-09-24'; | |
+ | |
+$conn = odbc_connect($dsn, $user, $pass); | |
+ | |
+@odbc_exec($conn, 'CREATE DATABASE odbcTEST'); | |
+ | |
+odbc_exec($conn, 'CREATE TABLE FOO (ID INT, VARCHAR_COL VARCHAR(100), DATE_COL DATE)'); | |
+ | |
+odbc_exec($conn, "INSERT INTO FOO(ID, VARCHAR_COL, DATE_COL) VALUES (1, 'hello', '$id_1_date')"); | |
+odbc_exec($conn, "INSERT INTO FOO(ID, VARCHAR_COL, DATE_COL) VALUES (2, 'helloagain', '$id_2_date')"); | |
+ | |
+$res = odbc_exec($conn, 'SELECT * FROM FOO ORDER BY ID ASC'); | |
+ | |
+while(odbc_fetch_row($res)) { | |
+ $id = odbc_result($res, "ID"); | |
+ $varchar_col = odbc_result($res, "VARCHAR_COL"); | |
+ $date = odbc_result($res, "DATE_COL"); | |
+ | |
+ if ($id == 1) { | |
+ if ($date != $id_1_date) { | |
+ print "Date_1 mismatched\n"; | |
+ } else { | |
+ print "Date_1 matched\n"; | |
+ } | |
+ } else { | |
+ if ($date != $id_2_date) { | |
+ print "Date_2 mismatched\n"; | |
+ } else { | |
+ print "Date_2 matched\n"; | |
+ } | |
+ } | |
+} | |
+ | |
+?> | |
+--EXPECT-- | |
+Date_1 matched | |
+Date_2 matched | |
+--CLEAN-- | |
+<?php | |
+include 'config.inc'; | |
+ | |
+$conn = odbc_connect($dsn, $user, $pass); | |
+ | |
+odbc_exec($conn, 'DROP TABLE FOO'); | |
+odbc_exec($conn, 'DROP DATABASE odbcTEST'); | |
+ | |
+?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment