Heim  >  Artikel  >  Datenbank  >  php下查询MySQL出现“General error: 2050”错误解决

php下查询MySQL出现“General error: 2050”错误解决

WBOY
WBOYOriginal
2016-06-07 16:56:191855Durchsuche

今天在php下查询mysql,居然出现了ldquo;General error: 2050rdquo;的错误,后来ray给了链接,果然问题就解决了。文章已经说得

今天在php下查询mysql,居然出现了“General error: 2050”的错误,后来ray给了链接,果然问题就解决了。

文章已经说得很清楚了,下面直接引用过来:
------------------------------------------
我把PHP升级到了5.2.5版本以后,,以前写的PDO程序总是报错SQLSTATE[HY000]: General error: 2053 ,我查了很久才找到问题的解决办法。  这样的问题只会发生在两条SQL连续请求的时候,如下面的例子:


$s = $db->query("SELECT * FROM test ORDER BY poledrugie;"); var_dump($s->fetchAll()); $s = $db->query("SELECT * FROM test ORDER BY poletrzecie;"); var_dump($s->fetchAll());

这样就会报错的。两种修改方法:
1.将第二个SQL的句柄换成$s1.

$s = $db->query("SELECT * FROM test ORDER BY poledrugie;"); var_dump($s->fetchAll()); $s1 = $db->query("SELECT * FROM test ORDER BY poletrzecie;"); var_dump($s1->fetchAll());

2.在第二个SQK前,将$s清空。
$s = $db->query("SELECT * FROM test ORDER BY poledrugie;"); var_dump($s->fetchAll()); $s = ''; $s = $db->query("SELECT * FROM test ORDER BY poletrzecie;"); var_dump($s->fetchAll());

  其实可以得出一个结论,如果两个PDO请求赋值给同一个句柄,那么第二个句柄不会被覆盖掉。所以必须我们手动覆盖一次。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn