小编Ben*_*Ben的帖子

SUM MySQL中出现不正确的小数

我有以下SQL查询.

SELECT SUM(final_insurance_total) as total
FROM `leads`
GROUP BY leads.status
Run Code Online (Sandbox Code Playgroud)

我在前导表中有一行数据,其final_insurance_total值为458796. final_insurance_total的数据类型为float.

出于某种原因,MySQL将单行汇总为"458796.375".

如果我将查询更改为

SELECT (final_insurance_total) as total
FROM `leads`
GROUP BY leads.status
Run Code Online (Sandbox Code Playgroud)

返回正确的值.世界上到底发生了什么?

mysql sum

11
推荐指数
1
解决办法
1622
查看次数

如何在PHP中构造类

我一直在努力用PHP转移到OOP.我在php.net上阅读了解释,但我希望我能在这里得到一些具体的答案.

我试图创建以下示例来说明我的问题.假设我有"数据库","产品"和"用户"类,我想在用户有权访问时显示产品.

所以我调用"Products"类"showProducts()"函数,该函数又创建"User"类的实例,该类创建"Database"对象的实例并检查用户访问级别.

如果用户具有访问权限,则"showProducts()"函数将创建"Database"对象的另一个实例,并查询数据库.

class Database{

   public function query(){ 
      //runs query here 
   }

   public function __construct() { 
      //sets up connection here 
   }

}

class User{

   public function checkAccess(){ 
      $db = new Database(); 
      $db->query( //pass in query to check access )
      //does stuff, then returns true or false
   }

}

class Products{

   public function showProducts(){

      $user = new User();

      if($user->checkAccess())
         $db = new Database(); 
         $db->query( //pass in query to get products )
      }

}
Run Code Online (Sandbox Code Playgroud)

我希望有人可以用正确的方式说明如何做到这一点.

我想有一些控制器类,它创建一个"数据库"对象,可供所有需要访问它的类使用,而不必创建"Database"对象的多个实例.我希望与users类相同,因此有一个$ users对象,所有类都可以访问,而不必每次我需要在"User"类中使用某些东西时创建一个新对象.

如果我的问题不明确,我道歉,并提前感谢任何回复!!

感谢大家的回复!

php oop class object

7
推荐指数
1
解决办法
7810
查看次数

错误 session_start(): 无法读取会话数据: redis PHP / Redis

我使用 PHP (7.2.30) 和 Redis 作为会话处理程序。一切都很好,会话保存到 Redis,但我很少会看到以下错误:

Error session_start(): Failed to read session data: redis (path: example.com:6379)
Run Code Online (Sandbox Code Playgroud)

我正在使用内置会话处理的 PHP,如下所示。

session_start();
$_SESSION['something'] = 'value';
Run Code Online (Sandbox Code Playgroud)

关于如何查找原因有什么建议吗?

php session redis

5
推荐指数
0
解决办法
3951
查看次数

cURL 慢启动传输时间

再会!

请求页面时,cURL 的运行速度非常慢。我知道这不是所请求的页面,因为该页面立即返回到浏览器中。

我注意到的两件事

  • starttransfer_time 通常接近 20
  • local_port 似乎每次都会改变。这正常吗?
  • 有时,cURL 会立即响应

我有以下代码:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url ); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, false);
$output = curl_exec($ch); 
curl_close($ch); 
Run Code Online (Sandbox Code Playgroud)

回显curl_getinfo()给了我以下内容

[url] => http://127.0.0.1:80/wpengine/?json=t
[content_type] => text/html; charset=iso-8859-1
[http_code] => 302
[header_size] => 215
[request_size] => 64
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 17.238
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 221
[speed_download] => 12
[speed_upload] => 0
[download_content_length] …
Run Code Online (Sandbox Code Playgroud)

php performance curl

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×3

class ×1

curl ×1

mysql ×1

object ×1

oop ×1

performance ×1

redis ×1

session ×1

sum ×1