-2

我正在使用 *mysql_fetch_assoc* 但是:

This extension is deprecated as of PHP 5.5.0, and will be removed in the future

php.net 推荐 *MySQLi 或 PDO_MySQL*

我试过mysqli_fetch_assoc但不知道如何获取实际的字段名称(属性)和相应的值。

假设我只有 1 行用户信息:

例如,结果字段名称:“姓名”和“年龄”以及值:“约翰”和“18”。

我的目标是获取实际的字段名称(姓名和年龄),同时在同一循环中获取特定字段名称的值,如 $column['Name'] 或 $column['Age']。

现有循环中的示例 sql:

$sqlUpdate = "Update report SET `" . $key. "` = " . $value . " where Name = '" . $value . "'"

.

因为如果我只使用 $value 我将如何知道我所指的字段名称...where Name = '" . $value . "'"?

仅当其他表行中的记录是我的其他表的字段名称(列)时,才用于报告目的。

希望这能更多地解释我的担忧。

顺便说一句 mysql_fetch_assoc 和 mysqli_fetch_assoc 只是我告诉那些可能有足够知识的人如果这些扩展(旧的或新的)仍然有用解决我的问题的方式。

4

1 回答 1

3
  1. 不要使用 mysqli。请改用 PDO。
    每个人都在敦促您从 mysql_ 转移,只是为了准备好的语句,但 mysqli 无法与它们一起使用。
  2. 正如评论中所说,关联数组已经拥有所有这些信息——名称作为键,值作为值。无论它来自哪里——mysql、mysqli 或手动创建的数组:

.

$arr['Name'] = 'John';

因此,您可以通过各种方式获得您的密钥。

$key = key($arr); // $key="Name" now
foreach ($arr as $key => $value) {  // another way to get keys and values.
    echo $key .' ' . $value;
}
$keys = array_keys($arr); // $keys=array('Name'); now

但是我有一种感觉,您的问题在其他地方,但您无法正确解释它。
你的最终目标是什么?为什么需要该字段名称?

于 2013-02-19T19:49:08.073 回答