[freetds] Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Invalid cursor state, SQL state 24000 in SQLExecDirect in
robert at robert-gonzalez.com
Thu Feb 19 00:34:31 EST 2009
Not to pry, but is there any reason why you are not using the SQL Server
extension for PHP as opposed to the ODBC extension?
On Wed, Feb 18, 2009 at 10:20 PM, Ran September <ran.september at gmail.com>wrote:
> >I can't tell from your script what the relationship is between gages and
> >mpc_web_users. There doesn't seem to be any; the results of the first
> >query don't seem to affect $userid, which is what's used as a key in the
> >second query.
> well actually, i am not the one who created the script. i'm just here to
> make freetds work but since freetds can't handle one active statement at a
> time; i might as well re-program the scripts. gages and mpc_web_users are
> both table in a database.
> Thanks for letting me know the function of the 'left outer join' I will
> hard on this one. :-)
> On Wed, Feb 18, 2009 at 8:33 PM, James K. Lowden <jklowden at freetds.org
> > Ran September wrote:
> > > i will try to become a "better programmer" :-D
> > And so you are doing. :-)
> > > although i didn't get the "outer join to mpc_web_users" part
> > http://en.wikipedia.org/wiki/Join_(SQL)#Outer_joins<http://en.wikipedia.org/wiki/Join_%28SQL%29#Outer_joins>
> > I can't tell from your script what the relationship is between gages and
> > mpc_web_users. There doesn't seem to be any; the results of the first
> > query don't seem to affect $userid, which is what's used as a key in the
> > second query.
> > If $userid is invariant within the loop, the second query could be
> > factored out. Get the row(s) from mpc_web_users, then proceed with
> > If the two are related -- if the row you want from mpc_web_users varies
> > with the data you fetch from gages -- then fetch both parts at once,
> > something like:
> > SELECT g.*, U.nusers
> > FROM gages as g
> > left outer join (
> > select count(*) as nusers, user_name
> > from mpc_web_users
> > ) as U
> > on g.something = U.user_name
> > where company = '$custid'
> > and gage_sn ='$sn'
> > That's just one approach. Depending on your data and exactly what you're
> > trying to do, several alternatives come to mind. Cf. "cross join".
> > All to say: SQL is your friend. Learn it. Use it. Exploit it. Not to
> > a better programmer, however nice that might be, but to work less.
> > more from less code by letting the database do the work for you. If
> > you're going to spend your day scripting webservers, I can't offer better
> > advice.
> > > but is it true that installing the mssql.so will solve this?
> > No. Please re-read the faq. Remember: "one active statement at a time
> > per connection" is a property of the *protocol*. The server won't accept
> > a second query until it's done answering the first one.
> > --jkl
> > _______________________________________________
> > FreeTDS mailing list
> > FreeTDS at lists.ibiblio.org
> > http://lists.ibiblio.org/mailman/listinfo/freetds
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
More information about the FreeTDS