单击图像的详细信息页
我试图让用户转到帖子详细信息页面。他们可以在搜索后找到这些图像。但我总是得到这个: 警告:非法字符串偏移'postID'在C:\ xampp \ htdocs \ eindwerk2 \ index.php上线106 警告: \ index.php on line 180单击图像的详细信息页
这是php代码。 seach函数以btw的方式工作。
$_SESSION['KEYWORD'] = array();
$error = '';
//$allResults2 = array();
if (isset($_POST['Find'])) {
try {
$pdoConnect = new PDO("mysql:host=localhost;dbname=imdterest", "root", "");
} catch (Exception $exc) {
echo $exc->getMessage();
exit();
}
$postTags = $_POST['naam'];
//$pdoQuery = "SELECT * FROM posts INNER JOIN user ON posts.postUser = user WHERE postTags = :postTags";
$pdoQuery = "SELECT posts.postID, posts.postUser, posts.postImageUrl, posts.postDescription, user.firstname, user.lastname, user.userID FROM posts INNER
JOIN user ON posts.postUser=user.email WHERE postTags = :postTags;";
$pdoResult = $pdoConnect->prepare($pdoQuery);
$pdoExec = $pdoResult->execute(array(":postTags" => $postTags));
if(!empty($_POST)){
while ($row = $pdoResult->fetch(PDO::FETCH_ASSOC)) {
$_SESSION['KEYWORD'][] = $row['postImageUrl']['postID'];
//$poster = $row['postID'];
//$allResults2[] = $row['postUser'];
//echo $postTags;
}
}
else {
echo 'no';
}
if(count($_SESSION['KEYWORD']) === 0) {
$error = "Sorry no results!";
}
这是这行代码的HTML
<div class="search">
<?php
foreach ($_SESSION['KEYWORD'] as $imageLink){
$postid = $imageLink['postID'];
echo '<a href=\'./pinSearch.php?postid=$postid\'><img src="' . $imageLink . '"></a>';
}
/*foreach ($allResults2 as $imageUser){
echo '$imageUser';
}*/
?>
<div class="searchError"><?php echo $error; ?></div>
</div>
你的错误是:
$_SESSION['KEYWORD'][] = $row['postImageUrl']['postID'];
这不是PHP合法的语法。
<?php
$test = array(
test1 => "Hello",
test2 => "hello2"
);
echo $test["test1"]["test2"];
?>
当您尝试执行这段代码,你会得到:
PHP的警告:非法串偏移 '测试2' 在
可悲的是,我可以用重现米不知道你试图用这行代码实现。无论如何,你的SQL结果是一个一维数组。您的代码就像您使用二维数组一样工作。您只能使用$row["postImageUrl"]
或$row["postID"]
您不能直接使用两者。
如果您更好地描述一下您尝试使用此行的方式,我可以帮助您。但实际上我不知道你的想法是什么。
我只是想让用户点击一个图像,并重定向到该图像的详细页面。图像可以通过搜索功能找到(工作原理)。只需忽略$ row [“postID”],那只是一些尝试。 –
@ArneBerckmans如果你想让人们忽略你的代码块,就把它留下。你在这里发布了很多代码。如果你想用stackoverflow来帮助你,试着缩小你的问题的范围,并尽可能简短地描述它。这样做会更容易帮忙。 – Jorre
'if(!empty($ _ POST)){'为什么只在获取结果之前这样做?无论如何,你执行你的查询,但这是没有意义的,因为你试图绑定$ _POST的值。 – Twinfriends