如何从DB获取特定值?

时间:2013-08-06 06:27:32

标签: php database

如何从DB获取此值作为字符串或int?

PHPMyAdmin http://img200.imageshack.us/img200/6388/gr55.jpg

我试过这个:

$var = $this->db->query("SELECT SUBSTRING(`category_id`, 1, 3) 
AS `category_id` FROM " . DB_PREFIX . "category 
WHERE merlion_id = 'Q1' 
ORDER BY category_id ASC");

然后我用var_dump检查了它并收到了:

var_dump($var);
object(stdClass)#26 (3) { ["row"]=> array(1) { ["category_id"]=> string(3) "859" } ["rows"]=> array(1) { [0]=> array(1) { ["category_id"]=> string(3) "859" } } ["num_rows"]=> int(1) }

2 个答案:

答案 0 :(得分:0)

这个怎么样:

echo $var->row['category_id'];

您还可以简化查询:

$var = $this->db->query("SELECT `category_id` 
AS `category_id` FROM `" . DB_PREFIX . "category` 
WHERE merlion_id = 'Q1' 
LIMIT 1");
  • 在表名
  • 周围添加了反引号
  • 删除了 ORDER 子句。如果您只有一个* merlion_id *为 Q1 的数据集,则不需要它。
  • 添加了 LIMIT 子句,因为您只需要一个数据集。

答案 1 :(得分:0)

无需执行SUBSTRING

$var = $this->db->query("`category_id`FROM " . DB_PREFIX . "category 
WHERE merlion_id = 'Q1' 
ORDER BY category_id ASC");

然后,你拥有它,你没有“转换”对象,你从中获取了你需要的东西:

$category_id = $var->row["category_id"];

我建议您在继续使用数据库驱动的应用程序之前深入了解基本的PHP。这都是微不足道的事情。有很多很好的教程,也有关于PHP面向对象的编程。最值得注意的是PHP documentation site