这是我目前的代码:
$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”列中的值。
任何指针?
答案 0 :(得分:2)
即使它返回一条记录,我怀疑它仍然是一个多维数组,其中每一行都有一个数字索引(即使它只是[0]
处的一行)并且列是按名称索引的。请尝试改为:
if (is_array($imgRow))
$scode = $imgRow[0]["shortcode"];
在调试时,始终使用print_r()
或var_dump()
检查数组和对象的结构。