【发布时间】:2011-12-12 12:09:13
【问题描述】:
我以下面的语句为例:
<?php
$link = mysql_connect( '127.0.0.1', 'user', 'pass' );
mysql_query('SET @a = "test";', $link);
$r = mysql_query('SELECT @a;', $link);
echo mysql_field_type($r,0);
?>
当我在 MySQL 5.0 上执行此操作时,输出为“字符串”。 当我在 MySQL 5.1 上执行此操作时,输出为“blob”。
这是一个错误吗?或者是否有改变这种行为的设置?我的外部应用程序需要一个字符串,现在由于这种新的结果类型而失败。希望有人能帮我解决这个问题。
【问题讨论】:
-
根据文档,这不是那么奇怪。
-
其实是:在dev.mysql.com/doc/refman/5.1/en/user-variables.html他们提到如果在结果集中选择了用户变量的值,它会以字符串的形式返回给客户端。所以现在不是一团糟。