如何从表中检索列值到PHP变量?

时间:2011-09-28 19:48:20

标签: php mysql

这是我目前的代码:

$thisImage = "Select * from `posts` where `id`=" . $id;
$imgRow = $d->GetData($thisImage); // returns one record through mysql_get_assoc
$scode = "#"; // init $scode
if (is_array($imgRow))
    $scode = $imgRow["shortcode"]; // "shortcode" is the name of a column

这是我遇到困难的地方,因为我收到了“未定义的索引”错误。

因为我总是只期待一条记录($ id是唯一的),如果我改为:

if (is_array($imgRow))
    $scode = $imgRow[0]; //

我看到$ scode是“Array”,它不是该行“shortcode”列中的值。

任何指针?

1 个答案:

答案 0 :(得分:2)

即使它返回一条记录,我怀疑它仍然是一个多维数组,其中每一行都有一个数字索引(即使它只是[0]处的一行)并且列是按名称索引的。请尝试改为:

if (is_array($imgRow))
   $scode = $imgRow[0]["shortcode"];

在调试时,始终使用print_r()var_dump()检查数组和对象的结构。