%@ 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!<%
}
}
%>