我怎样才能改变" int"进入" varchar"在mySQL数据库中没有PHP代码的问题?

时间:2015-10-07 08:21:16

标签: php mysql

我有一个问题,我不知道如何解决。这是我的代码:

    $sql_current_animal = "SELECT orders.animal, farm.capacity  FROM orders LEFT JOIN farm ON orders.animal=farm.serial WHERE orders.id ='$id';";   
    foreach ($pdo->query($sql_current_animal) as $current_animal_row) {
        $current_animal = $current_animal_row['animal'];
        $capacity_animal_arr[$current_animal] = $current_animal_row['capacity'];
    }

capacity的类型位于我的数据库int(11)中。就像我的代码工作得很好。但现在我需要将capacity的类型更改为varchar(225)。我的数据库中仍然具有相同的capacity值(例如:2),但我的代码不再有效。究竟发生了什么,我的页面上的所有内容都显示在此行中,之后我的页面为空白。

问题必须在这一行:$capacity_animal_arr[$current_animal] = $current_animal_row['capacity'];,因为当我删除此行时,所有内容都会再次显示在页面上。

2 个答案:

答案 0 :(得分:1)

可能是您脚本的其余部分希望capacity为Integer类型。尝试将PHP中的值转换为int。以下是:

$capacity_animal_arr[$current_animal] = intval($current_animal_row['capacity']);

请确认它是否适合您。

答案 1 :(得分:0)

首先在行$ capacity_animal_arr [$ current_animal] = $ current_animal_row [' capacity&line]之前回显$ current_animal_row [' capacity']和$ current_animal_row [' animal']的值#39;]。如果你得到正确的容量和动物值,那么问题不是来自db。