<%@ language="javascript" %> MySQL: Check ADO/ODBC/MySQL + IF TEXT 'x' Bug

MySQL: Check ADO/ODBC/MySQL + IF TEXT 'x' Bug

<% // Please set ROOT password var strRootPassword = ""; var strMyConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=test5;User ID=root;OPTION=4;Password=" + strRootPassword; var objConnection=Server.CreateObject("ADODB.Connection"); %>Connecting to Database... <% objConnection.Open(strMyConnectionString); %>OK.
<% %>MyODBC Driver version is <%=objConnection.Properties("Driver Version").Value%>
<% var arrSQLRequests = [ "DROP TABLE IF EXISTS test_if_text_x_bug", "CREATE TABLE test_if_text_x_bug(mytext TEXT NULL, myvarchar VARCHAR(255) NULL)", "INSERT INTO test_if_text_x_bug(mytext,myvarchar) VALUES('abc', 'def')", "SELECT IF (0, mytext, '') AS expr1, IF (0, mytext, 'abc') AS expr2, IF (0, myvarchar, '') AS expr3 FROM test_if_text_x_bug" ] ; var intRequest = 0; %>[<%=Server.HTMLEncode(arrSQLRequests[intRequest])%>]
<% objConnection.Execute(arrSQLRequests[intRequest++]); %>[<%=Server.HTMLEncode(arrSQLRequests[intRequest])%>]
<% objConnection.Execute(arrSQLRequests[intRequest++]); %>[<%=Server.HTMLEncode(arrSQLRequests[intRequest])%>]
<% objConnection.Execute(arrSQLRequests[intRequest++]); %>[<%=Server.HTMLEncode(arrSQLRequests[intRequest])%>]
<% var objRecordset = objConnection.Execute(arrSQLRequests[intRequest++]); if (!objRecordset.EOF) { %> objRecordset("expr1").Value = "<%=objRecordset("expr1").Value%>"<% if (objRecordset("expr1").Value == null) { Response.Write(" (NULL)"); }%>
objRecordset("expr2").Value = "<%=objRecordset("expr2").Value%>"<% if (objRecordset("expr2").Value == null) { Response.Write(" (NULL)"); }%>
objRecordset("expr3").Value = "<%=objRecordset("expr3").Value%>"<% if (objRecordset("expr3").Value == null) { Response.Write(" (NULL)"); }%>
<% if (objRecordset("expr1").Value == "x") { %>Your ASP/ADO/ODBC/MySQL Connection HAS the 'x' IF TEXT bug!<% } } %>