information_schema 列数据类型的循环不起作用

For loop for information_schema column data type not working

我尝试了很多组合,但我似乎无法弄清楚为什么所有输入类型都变成了文本!

$columnquery = $conn->query("SELECT column_name, column_comment, data_type FROM information_schema.columns
    WHERE table_schema = '$dbname'
    AND table_name = '$tableName'");
if ($columnquery->num_rows > 0){

    while ($columnRows = $columnquery->fetch_assoc()) {
      $columnName = $columnRows["column_name"];
      $columnType = $columnRows["data_type"];

      if ($columnRows['column_comment'] != 'Pups' && $columnType = "varchar"){
      echo "$columnName: $columnType <input type='text' name='$columnName'><br>";
    }
    elseif ($columnRows['column_comment'] != 'Pups' && $columnType = "int") {
      echo "$columnName: $columnType <input type='number' name='$columnName'><br>";
    }
    elseif ($columnRows['column_comment'] != 'Pups' && $columnType = "date") {
      echo "$columnName: $columnType <input type='date' name='$columnName'><br>";
    }

}

单个“=”用于使变量等于某物以便比较你应该使用“==”e-g $columnquery = $conn->query("SELECT column_name, column_comment, data_type FROM information_schema.columns WHERE table_schema = '$dbname' AND table_name = '$tableName'"); 如果 ($columnquery->num_rows > 0){

while ($columnRows = $columnquery->fetch_assoc()) {
  $columnName = $columnRows["column_name"];
  $columnType = $columnRows["data_type"];

  if ($columnRows['column_comment'] != 'Pups' && $columnType == "varchar"){
  echo "$columnName: $columnType <input type='text' name='$columnName'><br>";
}
elseif ($columnRows['column_comment'] != 'Pups' && $columnType == "int") {
  echo "$columnName: $columnType <input type='number' name='$columnName'><br>";
}
elseif ($columnRows['column_comment'] != 'Pups' && $columnType == "date") {
  echo "$columnName: $columnType <input type='date' name='$columnName'><br>";
}

}