как определить, является ли столбец первичным ключом, используя mysqli?

Я конвертирую часть своего кода из старого расширения mysql в расширение mysqli в PHP. Ранее с расширением mysql я использовал подобный код для поиска первичного ключа в таблице :

while ($i < mysql_num_fields($result)) {
    $meta = mysql_fetch_field($result, $i);
    if ($meta->primary_key == 1){ 
        $primary_key = $meta->name; 
    }
    $i++;
}

$meta->primary_key == 1. было очень удобно.

До сих пор я конвертировал код в использование mysqli:

while ($i < $result->field_count) {
    $meta = $result->fetch_field;
    if ($meta->primary_key == 1){ 
        $primary_key = $meta->name; 
    }
    $i++;
}

Конечно, глядя на документы здесь , мы видим, что $meta->primary_keyне существует в mysqli. Я вижу, что есть $meta->flags. Это мое лучшее предположение, хотя я не уверен, каким должно быть значение flags, когда у меня есть первичный ключ.

Кто-нибудь знает, как определить, какой столбец является первичным ключом для таблицы с помощью mysqli?

Спасибо!

РЕДАКТИРОВАТЬ Вот некоторый рабочий код:

//get primary key
$primary_key = '';
while ($meta = $result->fetch_field()) {
    if ($meta->flags & MYSQLI_PRI_KEY_FLAG) { 
        $primary_key = $meta->name; 
    }
}

9
задан jeffery_the_wind 11 July 2012 в 15:02
поделиться