sql >> Databáze >  >> RDS >> Mysql

Zkontrolujte, zda sloupec existuje, pokud ne, přidejte MySQL pomocí PHP

Své SQL můžete změnit na...

//THIS IS BETTER BUT DONT USE THIS
$qry = "ALTER IGNORE TABLE {$table} ADD {$column} VARCHAR(20);"

Místo toho použijte PHP PDO nebo MySQLi s připravenými příkazy. Místo toho staršího hororu se zřetězenými neuescapedovými řetězci.

Řešení MySQLi:

$mysqli = new mysqli($cfg->host, $cfg->user, $cfg->password, $cfg->db);

if ($mysqli->connect_errno) {
    echo 'Connect failed: ', $mysqli->connect_error, '" }';
    exit();
}

if ($stmt = $mysqli->prepare("ALTER IGNORE TABLE ? ADD ? VARCHAR(20);")) {
    $stmt->bind_param("ss", $table, $column);
    $stmt->execute();
    $stmt->close();
}
$mysqli->close();


  1. ImportError:Žádný modul s názvem 'MySQL'

  2. Jak najít kombinace řádků>sloupců pomocí Cross Join? [SQL]

  3. Jak určit, co je efektivnější:DISTINCT nebo WHERE EXISTS?

  4. SMALLDATETIMEFROMPARTS() Příklady v SQL Server (T-SQL)