我的代码如下所示:
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仍然告诉我它是字符串。如果有人有主意,我会很感激的。干杯!
PDO::FETCH_ASSOC
-您在这里要求一个关联数组。如果您只是试图回显结果,PHP必须尝试将$tagsel
隐式转换为字符串。您可以使用print_r
来查看$tagsel
的内容。
这个问题不是真的
你正在运行一些其他代码,很可能是类似于这个的代码
var_dump($tagsel['name']);
echo $tagsel;
你必须更加注意你运行的代码,不应该让其他人替你做。