我有一个MYSQL数据库,有一个表的列(field1
)类型的TINYTEXT
。该列包含诸如"010101
"answers"01010
"等值,这些值实际上是文件名。
当我使用PHP查询这个表时,它似乎决定这个字段是数字,因此它剥离了前导零。当我尝试使用这个值作为文件名时,当然它不起作用。
我像这样提取数据:
$sSQL = "SELECT * FROM images;";
$rsImageList = RunQuery($sSQL);
$iLoop = 0;
while (($iLoop <= 80) && ($aRow = mysql_fetch_array($rsImageList))) {
extract($aRow);
echo $field1;
$iLoop++;
}
如何将变量类型转换为字符串类型?
认错!我设法在我的表中获得重复的数据,一些条目已经丢失了前导零(感谢我用来导入数据的Excel)和一些没有。我看到的是正确的数据,但提取的却是错误的数据。这个故事的寓意是——只测试几行数据,而不是60行!
对不起,浪费了大家的时间。
可以强制转换为字符串:
$var = "" . $aRow["column"];
您可以使用CAST()
函数将其更改为字符串
$sSQL = "SELECT CAST(field1 AS CHAR) FROM images;";
给它一个尝试,我不认为这是MySQL的错误,因为你已经定义为TINYTEXT
可能是因为extract()
方法。