我的代码如下所示:
try {
$tagsel = $db->prepare('SELECT tag.name FROM tag LEFT JOIN '.TB_NAME.' ON tag.id = '.TB_NAME.'.tag WHERE '.TB_NAME.'.id =?');
$tagsel->bindParam(1, $id);
$tagsel->execute();
} catch (Exception $e) {
echo "Couldn't update database";
exit;
}
$tagsel = $tagsel->fetch(PDO::FETCH_ASSOC);
var_dump($tagsel);
echo $tagsel;
结果是:
string(6) "people"
Notice: Array to string conversion in C:\xampp\htdocs\blastbland\admin\inc\admin- functions.php on line 171 Array
我只是想知道,这怎么可能?我需要$ tagsel变量作为一个字符串,所以我可以稍后与其他字符串进行比较,但令人惊讶的是我发现它无法比较或回显,但var_dump仍然告诉我它是一个字符串。 如果有人有想法,我会很感激。干杯!
答案 0 :(得分:0)
PDO::FETCH_ASSOC
- 你在这里要求一个关联数组。如果您只是尝试回显结果,PHP必须尝试将$tagsel
隐式转换为字符串。您可以使用$tagsel
来查看print_r
的内容。
答案 1 :(得分:0)
这个问题不是真实的问题 您正在运行其他一些代码,很可能是这样的
var_dump($tagsel['name']);
echo $tagsel;
你必须更加注意你所运行的代码,不应该让其他人为你做这些代码。