-3

如何从 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) }
4

2 回答 2

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子句,因为您只需要一个数据集。
于 2013-08-06T06:34:17.450 回答
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 文档站点

于 2013-08-06T06:34:25.293 回答