我从数据库中进行选择,但它返回空值


I make select from DB, but it returns empty values

我选择了PDO,当我在sql中测试时,它似乎可以工作,但实际上它不工作。

$sql= $this->db->prepare("SELECT  title,  DATE(date) as dmy, short_description, description FROM  `news`  WHERE  newsID=".$newsID."");
                    $sql->execute();

我的意思是,当我想打印任何选定的变量时,它都是空的。感谢的帮助

您没有执行$sql->fetch();

for($i=0; $row = $query->fetch(); $i++){
    echo $row['name'];
  }

这样的东西应该行得通。现在它执行查询,但您没有获取结果。

如果使用准备好的语句,则必须绑定where参数。

我认为问题在于您需要用单引号包装您的值。试试看:

$sql= $this->db->prepare("SELECT  title,  DATE(date) as dmy, short_description, description FROM  `news`  WHERE  newsID='".$newsID."'");
$sql->execute();

如果这不起作用,请尝试打印出关于上次发送的查询的任何错误消息(来自数据库),看看这是否有助于缩小问题范围。