复用原有项目的代码,结果发现总是出这个问题,比较奇怪的是第一条sql语句是可以正常执行的,后续所有的sql语句均报相同的错误。
后来仔细对比了一下,发现原来的项目使用mysql用的相当保守,都是每次执行sql语句,先创建一个新的mysql实例,执行完sql之后马上就close掉了(mysql不是主存储介质,只是辅助用的);而新项目加入了类似上下文信息的装置,按需生成mysql实例,此次请求完毕再自动释放掉。
所以,第一条sql语句执行之后,旧代码就把上下文的sql连接close掉了,之后再执行其他sql,使用的都是上下文已经释放掉的sql链接,就出现了以上错误:mysql_query(): xxx is not a valid MySQL-Link resource