php - 选择返回空数组的sql变量

标签 php mysql

我正在尝试在 MySQLSET 3 个变量并获取其中两个变量的总和。

前两个变量,@cFollow@cComment应该分别返回一个整数值(返回的行数);第三个是这两个整数之和。

这是我的SQL:

SET @cFollow = (SELECT COUNT(*) FROM followers WHERE unix > :unix AND following = :user);
SET @cComment = (SELECT COUNT(*) FROM comments WHERE comment_unix > :unix AND comment_track IN (SELECT upload_id FROM uploads WHERE upload_artist = :user));

SET @total = @cFollow + @cComment;

SELECT @total;

当我在 PHPMyAdmin 上测试它时,它返回了正确的值并且工作得很好。但是,当我在 PHP 中测试它时,它返回一个空数组。

这是我的PHP:

$holdPoint = (int)Input::get("hold_point");

$_SQL = "
SET @cFollow = (SELECT COUNT(*) FROM followers WHERE unix > :unix AND following = :user);
SET @cComment = (SELECT COUNT(*) FROM comments WHERE comment_unix > :unix AND comment_track IN (SELECT upload_id FROM uploads WHERE upload_artist = :user));

SET @total = @cFollow + @cComment;

SELECT @total;";
$_PARAMS = [":unix" => $holdPoint, ":user" => $user_id];

$check = DB::getInstance()->queryPro($_SQL, $_PARAMS);  
var_dump($check);

这是 var_dump 的结果:

array(0){} // not very impressive...
           // should be something like int(1) instead

我整夜都在搜索,学习如何从 MySQL 查询返回 PHP 中的变量,这就是我所得到的。

感谢所有帮助,
干杯。

最佳答案

这个答案并不是真正的答案,而是更多的评论。
另请注意您的查询

SET @cFollow = (SELECT COUNT(*) FROM followers WHERE unix > :unix AND following = :user);
SET @cComment = (SELECT COUNT(*) FROM comments WHERE comment_unix > :unix AND comment_track IN (SELECT upload_id FROM uploads WHERE upload_artist = :user));

SET @total = @cFollow + @cComment;

SELECT @total;

很可能被重写为一个查询

SELECT 
 SUM(alias.c) AS total
FROM (
  SELECT COUNT(*) AS c FROM followers WHERE unix > :unix AND following = :user
  UNION ALL
  SELECT COUNT(*) AS c FROM comments WHERE comment_unix > :unix AND comment_track IN (SELECT upload_id FROM uploads WHERE upload_artist = :user)
) AS alias

关于php - 选择返回空数组的sql变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55925262/

相关文章:

php - 如何选择 jQuery 动态生成的 ID?

mysql - PrimaryKey 需要一直自增吗?

php - json_encode 想要输入什么?

mysql - 过滤具有时间差的行

php - 如何在 laravel mongodb 上添加软删除? (拉拉维尔 5.3)

javascript - 如何在 jquery 中将 img src 设置为 php session

php - 无法检索请求的 URL "http://localhost/"<!-- ERR_ACCESS_DENIED --> 使用 XAMPP

php - 如何在 laravel 中转义 Blade 标签

MySQL - 为 Rails 应用程序设置默认时区

php - 在 codeigniter 中生成多个结果