我有一个问题,我不知道如何解决。这是我的代码:
$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'];
,因为当我删除此行时,所有内容都会再次显示在页面上。
答案 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。