concordo con piero.mac, anche io ho avuto questa problematica e nn ho trovato soluzioni differenti e piu' ottimizzate. Mi permetto di postare due righe di codice che, forse, rendono la cosa piu' precisa (scritta cosi' di getto, necessita di un po' di type control):
Codice PHP:
class TableInfo{
private $_campi;
public function __construct($get){
if(!($get instanceof mysqli_result)) return false;
$this->_campi = $get->fetch_fields();
}
public function getUniqueKeyFieldList(){
$uniquekeyfields = array();
foreach($this->_campi as $field){
if($field->flags & MYSQLI_UNIQUE_KEY_FLAG) array_push($uniquekeyfields, $field->name);
}
return $uniquekeyfields;
}
} // End:class
Puoi usarla ad esempio cosi':
Codice PHP:
$db = new mysqli($host, $user, $password, $database);
$res = $db->query("SELECT * FROM $table LIMIT 0");
if($info = new TableInfo($res)){
echo "Campi obbligatori: " . join(", ", $info->getUniqueFieldList());
}
(codice nn testato, un po' di pazienza ^^)
spero ti possa essere utile! ^_^