【发布时间】:2016-02-18 21:14:54
【问题描述】:
我的数组有多个类别,例如生日、婚礼等。我想随机选择 4 个类别等于生日的项目。并呼应这些价值观
class Cake {
//properties:database connection and table name
private $conn;
private $table_name ='cakes';
//object properties: one for each field in our table
public $id;
public $name;
public $category;
public $price;
public $description;
public $thumb;
public $large;
public function __construct($db){
//bring in the connection info, store it in this object's $conn property
$this->conn = $db;
}
/**
* the readAll method gets all existing row data
* @return all the retrieved row data
**/
//if no public or private auto public
function readAll(){
$cols = array('id', 'name', 'category', 'price');
//create a SQL query and run it, storing the data in a var $stmt
$stmt = $this->conn->prepare('SELECT id, name, category, description, price, thumb, large FROM '.$this->table_name.' ORDER BY RAND() LIMIT 4'); //this needs to be one or it will be multiple colls
//run the query, getting the data and stuffing into $stmt
$stmt->execute();
//send info back to where readAll() was called
return $stmt;
}//end readAll();
function readWed(){
$cols = array('id', 'name', 'category', 'price');
//create a SQL query and run it, storing the data in a var $stmt
$stmt = $this->conn->prepare('SELECT id, name, category, description, price, thumb, large FROM '.$this->table_name.' WHERE category = Birthday ORDER BY RAND() LIMIT 4');
$stmt->execute();
//send info back to where readWed() was called
return $stmt;
}//end readWed();
这是我试图输出值的地方,阅读所有作品,但不是使用 where 子句。错误报告也不会输出。
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include_once('config/spc_database.php');
include_once('object/cake.php');
$database = new Database();
$conn=$database->getConnection();
$cake = new Cake($conn);
$stmt = $cake->readWed();
?>
<div class="left-img">
<?php while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ ?>
<div class="element hvr-grow">
<?php echo "HELLOS"; ?>
<a href="description.php?detailsid=<?php echo $row['id'];?>">
<img class="imgurmob" src="img/
<?php echo $row['category']; ?>/<?php echo $row['thumb']; ?>" alt="img-sub-category">
</a>
</div>
<?php } ?>
【问题讨论】:
-
WHERE category = "Birthday" ..... Quotes ????
-
你的意思是像 ' WHERE category = '.Birthday.'按 RAND() 限制 4'' 订购?这给出了一个未定义的常量错误。
-
生日是字符串值???还是常量变量?
-
更改 '.Birthday.'如果它是字段中的有效值,则更改为“生日”,或者将其更改为“.BIRTHDAY”。如果它被设置为我怀疑的常数。 '。生日。'在这里没有任何意义
-
错误报告应该显示
Notice: Use of undefined constant Birthday - assumed 'Birthday'所以有些东西正在关闭错误。
标签: php arrays where-clause