Я конвертирую часть своего кода из старого расширения 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;
}
}