php-尝试获取非对象的属性/对布尔值调用成员函数bind_param()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-尝试获取非对象的属性/对布尔值调用成员函数bind_param(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2910字,纯文字阅读大概需要5分钟。
内容图文
![php-尝试获取非对象的属性/对布尔值调用成员函数bind_param()](/upload/InfoBanner/zyjiaocheng/695/adf368fd492e46e7a9b8e1ae2c27708e.jpg)
我知道这个问题已经问了很多遍了,但是解决方案似乎对我不起作用.
我正在写一个简单的博客,我想做一个存档部分,但被卡住了.这是我拥有的一段代码,很麻烦:
$month = $_GET['month'];
$year = $_GET['year'];
$from = date('Y-m-01 00:00:00', strtotime("$year-$month"));
$to = date('Y-m-31 23:59:59', strtotime("$year-$month"));
echo $from;
echo $to;
$sql = "SELECT * FROM posts WHERE date >= ".$from." AND date <= ".$to." ORDER BY date DESC";
$stmt = $conn->query($sql);
var_dump($stmt);
if($stmt->num_rows > 0){
while($row = $stmt->fetch_assoc()){
这段代码在if语句中给我以下错误(尝试获取非对象的属性). var_dump()返回bool(false).因此,查询似乎是一个问题,但是就我而言,这还可以.我检查了一下,没有错别字,所有名称也都是正确的.
我也尝试这样做:
$month = $_GET['month'];
$year = $_GET['year'];
$from = date('Y-m-01 00:00:00', strtotime("$year-$month"));
$to = date('Y-m-31 23:59:59', strtotime("$year-$month"));
echo $from;
echo $to;
$sql = "SELECT * FROM posts WHERE date >= ".$from." AND date <= ".$to." ORDER BY date DESC";
$stmt = $conn->prepare($sql);
var_dump($stmt);
$stmt->bind_param('ii', $from, $to);
$stmt->execute();
但这给了我一个不同的错误(在布尔值上调用成员函数bind_param()),因此再次看来查询是一个问题.我真的不知道该如何处理.有什么建议么?
更新:
$month = $_GET['month'];
$year = $_GET['year'];
//set from and to dates
$from = date('Y-m-01 00:00:00', strtotime("$year-$month"));
$to = date('Y-m-31 23:59:59', strtotime("$year-$month"));
echo $from;
echo $to;
$sql = "SELECT * FROM posts WHERE date >= ? AND date <= ? ORDER BY date DESC";
$stmt = $conn->prepare($sql);
//var_dump($stmt);
$stmt->bind_param('ii', $from, $to);
$stmt->execute();
if($stmt->num_rows > 0){
while($row = $stmt->fetch_assoc()){
$query = "SELECT * FROM comments WHERE postId=".$row['id'];
$comNumber = $conn->query($query);
$total = $comNumber->num_rows;
echo "<section class='post'>
<img class='postImage' src='img/".$row['id'].".png'>
<div class='postComment'>
<div class='postCommentBubble'><img src='img/commentBubble.svg'></div>
<div class='postCommentCount'>".$total." comments</div>";
echo "<div class='postDate'>".date("d F Y G:i", strtotime($row["date"]))."</div>";
if(isset($_SESSION['user']) && $_SESSION['privileges']==true){
echo "<a class='postDelete' href='delete-post.php?id=".$row["id"]."'><img src='img/garbage.svg'></a>";
echo "<a class='postEdit' href='edit-post.php?id=".$row["id"]."'><img src='img/pencil.svg'></a>";
}
echo "</div>
<header class='postTitle'><a href='post.php?id=".$row['id']."'>".$row['title']."</a></header>
<div class='postIntro'>".$row['intro']."</div>
<div class='postLinkContainer'><a class='postLink' href='post.php?id=".$row['id']."'>read more</a></div>
</section>
";
}
}
解决方法:
在这里阅读:http://php.net/manual/en/mysqli.prepare.php如果失败,您将得到一个错误.因此,您的错误.
问题是您需要使用SQL吗?代替变量名,prepare期望数据绑定.我相信你想要:
$sql = "SELECT * FROM posts WHERE date >= ? AND date <= ? ORDER BY date DESC";
$stmt->bind_param('ii', $from, $to);
内容总结
以上是互联网集市为您收集整理的php-尝试获取非对象的属性/对布尔值调用成员函数bind_param()全部内容,希望文章能够帮你解决php-尝试获取非对象的属性/对布尔值调用成员函数bind_param()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。