在不知道列名PHP的情况下更新表值

时间:2013-07-25 22:53:42

标签: php mysql

情况如下。我只知道表test_table具有的总列数,但不知道它们的名称(听起来很奇怪,但却是真的)。有没有什么办法可以根据一些ID(自动增量主键)为所有列值写UPDATE查询?

要在此表中添加行,我执行了以下操作,但不知道如何为UPDATE执行此操作:

$newCols = $_POST['newRowCols'];
$query = "INSERT INTO test_table VALUES "."("."NULL";   
foreach($newCols as $col)
{
$query .= ",'$col'";
}   
$query.=")";
mysqli_query($con,$query);

感谢。

1 个答案:

答案 0 :(得分:4)

不,这是不可能的。但您可以使用information_schema数据库获取列名:

SELECT 
  `ORDINAL_POSITION`,
  `COLUMN_NAME`
FROM `information_schema`.COLUMNS
WHERE
  `TABLE_SCHEMA` = $dbname
AND
  `TABLE_NAME` = $tablename
ORDER BY `ORDINAL_POSITION`