コードの一部を古いmysql拡張機能からPHPのmysqli拡張機能に変換しています。以前は、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;
}
}