現在の位置: ホーム> 最新記事一覧> mysqli_result :: fetch_fieldの返品値からデータベースフィールドの制約情報を分析する方法は?

mysqli_result :: fetch_fieldの返品値からデータベースフィールドの制約情報を分析する方法は?

gitbox 2025-09-12
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事の始まりは、メインテキストとは何の関係もありません PHP コードの例</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是开头の无关コードの例。"</span></span><span>;
</span><span><span class="hljs-variable">$testArray</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$testArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// テキストを開始します</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>方法 mysqli_result::fetch_field 返品値は、データベースフィールドの制約情報を分析します?</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>使用中 PHP の <code>mysqli
';エコー

ここでFetch_fieldは、フィールドに関するさまざまな情報を含むstdclassオブジェクトを返します。

; ECHO "
  • name :field name
  • orgname :オリジナルフィールド名
  • テーブル:フィールドが属するテーブル
  • Orgtable :オリジナルテーブル名
  • max_length :フィールド最大長
  • フラグ:フィールドフラグ(制約情報の判断に使用)
  • タイプ:フィールドタイプ( mysqli_type_var_stringなど)
"
;
エコー

2。制約情報を分析する

;エコー

最も重要な属性はフラグです。これは、フィールドの一連のバイナリフラグを表す整数です。フィールドの制約は、ビット操作を通じて判断できます。

echo "
  • not_null_flag :フィールドが許可されていないかどうかnull
  • pri_key_flag :フィールドがプライマリキーであるかどうか
  • :フィールドが自己免除されているかどう
  • unique_key_flag :フィールドが一意であるかどうか
エコー

たとえば、フィールドがnullを許可しないかどうかを判断するには:

;エコー'
$ field = $ result-> fetch_field();
if($ field-> flags&mysqli_not_null_flag){
    echo "field &#39;
"、 $ field- > name、 " ' nullは許可されていません"; } else {echo "field ' "、 $ field- > name、 " ' nullは許可されます"; } ' ;エコー

同様に、それが主要な鍵であるか自己具合であるかを判断することができます。

;エコー'
if($ field-> flags&mysqli_pri_key_flag){
    エコー「フィールドがホストキーです」。
}
if($ field-> flags&mysqli_auto_increment_flag){
    エコー「フィールドは自己障害」です。
}
'
;
エコー "

3。summary

"
;エコー

mysqli_result :: fetch_fieldによって返されるオブジェクトを介して、フィールド名、タイプ、長さなどの基本情報を簡単に取得できます。フラグ属性のビット操作を通じて、Null、主要な鍵、独自性、自己侵入などのフィールド制約情報を分析することもできます

?> <?php //記事の最後に関係のないPHPコードの例 $ footmessage = "これは、最後の無関係なコードの例です。" ; for $ i = 0 ; $ i < 3 ; $ i ++){ echo $ Footmessage "投げる" 。 ( $ i + 1 )。 "ショータイム。" ; } ?>