{"id":634,"date":"2008-03-21T09:53:29","date_gmt":"2008-03-21T14:53:29","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/hoanga\/2008\/03\/21\/being-stupid-on-numrows-versus-getting"},"modified":"2008-03-21T09:53:29","modified_gmt":"2008-03-21T14:53:29","slug":"being-stupid-on-numrows-versus-getting-the-actual-result-in-luasql","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/hoanga\/2008\/03\/21\/being-stupid-on-numrows-versus-getting-the-actual-result-in-luasql\/","title":{"rendered":"Being stupid on numrows() versus getting the actual result in LuaSQL"},"content":{"rendered":"<p>I&#8217;m dumb.  I had a bug in a checker script that I wrote and only noticed it recently when I bothered to <a href=\"http:\/\/www.keplerproject.org\/luasql\/manual.html#cursor_object\">RTFM<\/a>.  Can you spot the error?  Probably most programmers will.<\/p>\n<p>Non-working version<\/p>\n<pre>\r\nrequire \"luasql.mysql\"\r\n\r\nenv = luasql.mysql()\r\nmysqlconn = env:connect(\"somedb\", \"someuser\")\r\ncurs = mysqlconn:execute(\"\r\nSELECT COUNT(*) FROM some_table WHERE col1 = ''foo\")\r\nprint(\"Number of rows in $dlq queue is: \", curs:numrows())\r\n<\/pre>\n<p>Working version<\/p>\n<pre>\r\nrequire \"luasql.mysql\"\r\n\r\nenv = luasql.mysql()\r\nmysqlconn = env:connect(\"somedb\", \"someuser\")\r\ncurs = mysqlconn:execute(\"\r\nSELECT COUNT(*) FROM some_table WHERE col1 = ''foo\")\r\nprint(\"Number of rows in $dlq queue is: \", curs:fetch())\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m dumb. I had a bug in a checker script that I wrote and only noticed it recently when I bothered to RTFM. Can you spot the error? Probably most programmers will. Non-working version require &#8220;luasql.mysql&#8221; env = luasql.mysql() mysqlconn = env:connect(&#8220;somedb&#8221;, &#8220;someuser&#8221;) curs = mysqlconn:execute(&#8221; SELECT COUNT(*) FROM some_table WHERE col1 = &#8221;foo&#8221;) print(&#8220;Number [&hellip;]<\/p>\n","protected":false},"author":703,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[972,1217],"tags":[],"class_list":["post-634","post","type-post","status-publish","format-standard","hentry","category-programming","category-stupid"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/posts\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/users\/703"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":0,"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/hoanga\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}