Php 从mysql中的字段中排除某些项

Php 从mysql中的字段中排除某些项,php,dynamic,selection,field,Php,Dynamic,Selection,Field,假设您希望获取一个表的所有列,但不必这样做就可以排除名称中包含例如_图像的列 mysql_query("SHOW COLUMNS FROM " . $table. " WHERE Field NOT IN ('project_images_1' .etc)") 这可能吗 现场示例: header bodytext project_images_1 (exclude) project_images_2 (exclude) 是的,这是可能的。我可以用这样的操作符: SHOW COLUMNS FR

假设您希望获取一个表的所有列,但不必这样做就可以排除名称中包含例如_图像的列

mysql_query("SHOW COLUMNS FROM " . $table. " WHERE Field NOT IN ('project_images_1' .etc)")
这可能吗

现场示例:

header
bodytext
project_images_1 (exclude)
project_images_2 (exclude)

是的,这是可能的。我可以用
这样的
操作符:

SHOW COLUMNS FROM $table WHERE NOT Field LIKE '%_images%';
或者,如果您需要更多的控制,这可能会有所帮助:

$query = <<<SQL
SHOW COLUMNS FROM $table WHERE Field NOT IN (
    SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_name = $table
    AND column_name LIKE 'project_images_%'
);
SQL;

$query=您知道MySQL支持子查询吗?还考虑使用<代码> MySqLI**<代码>新代码的功能。对于这种类型的内容,在第二个示例中,您给出了为什么需要再次选择列名“从信息模式中选择列名。列”需要返回每行一列的结果集,否则
中的
将不起作用。而且该列自然需要是列名,否则
中的
将毫无意义。