MYSQL:如果不存在,则插入列

Cod*_*ver 4 php mysql

我试图通过检查是否存在来添加列.如果不是,它应该通过下面的代码给出它已经存在的消息.

$prefix = 'vm_';
$col_name = 'checking';

$col = "SELECT ".$col_name." FROM ".$prefix."users";

if (!$col){
    $insert_col = "ALTER TABLE ".$table." ADD ".$col_name." DATETIME NOT NULL";

    mysql_query($insert_col);

    echo $col_name.' has been added to the database';
} else {
    echo $col_name.' is already exists';
}
Run Code Online (Sandbox Code Playgroud)

但它不会添加任何列并直接显示该列已存在的消息.

Asa*_*din 8

你永远不会执行你的查询,你的条件是你的查询字符串:

if (!$col) { //always false, since a nonempty string is always truthy
Run Code Online (Sandbox Code Playgroud)


Cod*_*ver 5

这是最终的代码。有愚蠢的错误;我没有用mysql_query$col

$prefix = 'vm_';
$col_name = 'checking';

$col = mysql_query("SELECT ".$col_name." FROM ".$prefix."users");


if (!$col){
    //$insert_col = "ALTER TABLE ".$table." ADD ".$col_name." DATETIME NOT NULL";

    mysql_query("ALTER TABLE ".$prefix."users ADD ".$col_name." DATETIME NOT NULL");

    echo $col_name.' has been added to the database';
} else {
    echo $col_name.' is already exists';
}
Run Code Online (Sandbox Code Playgroud)