Php mysql\字段\新mysqli的名称
我有一种方法可以获取表中列的名称。它工作正常,但现在我想更新到新的mysqli?(我尝试了mysqli_fetch_字段,但我不知道如何应用于此案例,我不确定是否是wright选项) 如何对mysqli执行同样的操作Php mysql\字段\新mysqli的名称,php,mysqli,Php,Mysqli,我有一种方法可以获取表中列的名称。它工作正常,但现在我想更新到新的mysqli?(我尝试了mysqli_fetch_字段,但我不知道如何应用于此案例,我不确定是否是wright选项) 如何对mysqli执行同样的操作 $sql = "SELECT * from myTable"; $result = mysql_query($sql,$con); $id = mysql_field_name($result, 0); $a = mysql_field_name($result, 1); ech
$sql = "SELECT * from myTable";
$result = mysql_query($sql,$con);
$id = mysql_field_name($result, 0);
$a = mysql_field_name($result, 1);
echo $id;
echo $a;
我不确定是否有更好的方法来实现这一点,但我检查了该方法是否可以仅获取列的名称,并且是新的mysqli:
$result = mysqli_query($con, 'SELECT * FROM myTable');
while ($property = mysqli_fetch_field($result)) {
echo $property->name;
}
您可以将函数
mysql\u field\u name
替换为mysqli\u fetch\u field\u direct
,并按如下方式使用它:
$colObj = mysqli_fetch_field_direct($result,$i);
$col = $colObj->name;
echo "<br/>Coluna: ".$col;
$colObj=mysqli\u fetch\u field\u direct($result,$i);
$col=$colObj->name;
echo“
Coluna:.$col;
这是实现此缺失功能的方法:
function mysqli_field_name($result, $field_offset)
{
$properties = mysqli_fetch_field_direct($result, $field_offset);
return is_object($properties) ? $properties->name : null;
}
这是打印每个字段的名称、表和最大长度的另一种简单方法
$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
if ($result=mysqli_query($con,$sql))
{
// Get field information for all fields
while ($fieldinfo=mysqli_fetch_field($result))
{
printf("Name: %s\n",$fieldinfo->name);
printf("Table: %s\n",$fieldinfo->table);
printf("max. Len: %d\n",$fieldinfo->max_length);
}
// Free result set
mysqli_free_result($result);
}
如果要使用mysqli,所有函数都需要转换为mysqli。你不能把mysql和mysqli混在一起。mysql_字段_名称已经是一种古老且无法使用的方式。顺便问一下,你为什么需要它们?这是一个问题:如何将所有内容转换为新的mysqli你的目标是什么?您需要字段名做什么?如果您使用
mysqli\u fetch\u assoc
,来获取数据,您将获得数组中的字段名,因此不需要单独查询它们。此外,通常认为最好的做法是在查询中列出所需的字段;ie使用选择字段名、字段名等,而不是选择*
。如果您这样做,您将已经知道结果中的字段,因此您根本不需要检查字段列表。我如何才能像我给出的示例那样只选择字段的标题。根据中的弃用通知,这是正确的答案,但原始函数在失败时返回False,而不是null。您不应该放弃三元运算符并返回$properties->name?只需将null更改为false。这应该是正确的答案。它与mysql\u field\u name几乎相同,只是您必须取消引用名称:$id=mysql\u field\u name($result,0)=>$id=mysqli\u fetch\u field\u direct($result,0)
$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
if ($result=mysqli_query($con,$sql))
{
// Get field information for all fields
while ($fieldinfo=mysqli_fetch_field($result))
{
printf("Name: %s\n",$fieldinfo->name);
printf("Table: %s\n",$fieldinfo->table);
printf("max. Len: %d\n",$fieldinfo->max_length);
}
// Free result set
mysqli_free_result($result);
}