如何使用mysqli以相同的结果完成此操作?

时间:2014-04-11 13:43:47

标签: php mysql mysqli

我正在努力将一些代码从mysql_移植到mysqli_等效物,但是我偶然发现了一些似乎不是直接转换的东西:

我有以下代码

if($field_flags == false) {
    for($j=0; $j<$num_fields; $j++) {
        $field_flags[$j] = mysql_field_flags($result, $j);
        if(strpos($field_flags[$j], 'not_null') !== false) {
            $field_flags[$j] = false;
        } else {
            $field_flags[$j] = true;
        }
    }
}

我无法将其移植为新方法&#34; mysqli_fetch_field_direct&#34;似乎并不那么简单。

有人可以帮助我移植上面的代码。基本上,我正在检查该字段是否允许空值。

1 个答案:

答案 0 :(得分:0)

函数mysqli_fetch_field_direct返回object,其中mysql_field_flags返回string。因此,您直接使用strpos无法奏效。

if($field_flags == false) {
    for($j=0; $j<$num_fields; $j++) {
        $field_flags[$j] = mysqli_fetch_field_direct($result, $j);
        if(strpos($field_flags[$j]->flags, 'NOT_NULL') !== false) {
           //Do something here
        } else {
           //Do something else
    }
}

更多信息请点击php.net

相关问题