小编AD7*_*six的帖子

如何在MySQL中的特定行业中选择具有特定条件的行?

我在mysql中有一个包含两列的表.身份证号码.第一次列出4到13之间的所有行

SELECT * FROM table WHERE id BETWEEN 4 AND 13

现在我有一个从4到13的所有行的列表.(绿色行)

我想在这个列表中搜索,找到数字<= 10的第一行和数字<= 1000的最后一行以及中间的所有行.即我需要下图所示的橙色行:

在此输入图像描述

所以,我需要这样的东西:

SELECT *
FROM TABLE
WHERE id BETWEEN 4 AND 13
  AND number
  START
  FROM <= 10
  AND END WITH <= 1000
Run Code Online (Sandbox Code Playgroud)

但显然上述情况并不正确.我怎样才能获得橙色行?

mysql sql

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

如何在CakePHP上抛出自定义try-catch异常?

我想抛出一个自定义异常,这是我的CakePHP应用程序的控制器中的数据验证异常.如何在Cakephp中创建自己的自定义异常处理程序,以便我可以抛出异常并捕获异常?

我的代码示例:

function getUserDetails($userid){

    try{
         if(!$validUser){
              throw new Exception('Invalid User');
         }

         return $userDetailsData;  //returned from db
    }catch(Exception $e){
         echo 'Error:'.$e->getMessage();
        return;
    }

}
Run Code Online (Sandbox Code Playgroud)

是否有可能在cakephp中使用自定义Exception类,以便只能抛出那些我做的异常.希望它澄清问题.谢谢.

cakephp exception try-catch throw

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

无法找到与paginate兼容的对象.使用CakePHP

我是PHP和CakePHP的新手.使用CakePhp连接数据库时发现问题.

以下是我的应用配置.我在Bitnami WAMP堆栈5.4.40-0我使用CakePhp 3.0.4创建一个web mvc应用程序

在我的app.php文件中输入数据源

/**
 * Connection information used by the ORM to connect
 * to your application's datastores.
 * Drivers include Mysql Postgres Sqlite Sqlserver
 * See vendor\cakephp\cakephp\src\Database\Driver for complete list
 */
'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'localhost',
        /**
         * CakePHP will use the default DB port based on the driver selected
         * MySQL on MAMP uses port 8889, MAMP users will want to uncomment …
Run Code Online (Sandbox Code Playgroud)

php cakephp cakephp-3.0

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

CakePHP 连接在浏览器中被拒绝

我正在第一次设置/学习 CakePHP,我正在努力弄清楚为什么我无法通过默认端口 8765 访问我的服务器。我喜欢在 ubuntu 机器上进行开发并远程处理代码。该服务器托管在我本地计算机上的虚拟机上,但我将其称为远程计算机。服务器和我的远程计算机都位于同一 10.0.1.x 子网中。我可以通过端口 80 很好地访问服务器。但是,当我尝试访问 hxxp://10.0.1.44:8765/ 时,我收到以下消息

Failed to connect to 10.0.1.44 port 8765: Connection refused

我尝试通过以下方式禁用 Ubuntu 16 服务器上的防火墙,sudo uff disable但没有成功。我还尝试编辑 Apache2.conf 文件并覆盖目录权限。这些是我当前的全局权限:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏!

php apache cakephp ubuntu-server cakephp-3.0

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

执行简单数据库查询时CakePHP的响应非常慢

我是CakePHP框架的新手,正在尝试设置一个"Hello World"项目.在处理它时,我在执行简单的数据库查询时遇到了来自CakePHP的非常慢的响应.

以下是我所做的步骤:

  1. 下载CakePHP框架(2.3.0 RC1)并进行设置
  2. 使用名为"Tests"的空表创建"Test"DB.
  3. 编辑默认的AppController.php文件,如下所示:

    class AppController extends Controller {
    
        var $uses = array('Test');
    
        function say_hello() {
        $this->Test->query("select * from test where id=0");
        echo "hello";
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 之后,我访问了"http:// localhost/app/say_hello"链接,并且响应时间超过1秒.

如果我将查询语句注释掉如下:

class AppController extends Controller {

    var $uses = array('Test');

    function say_hello() {
        //$this->Test->query("select * from test where id=0");
        echo "hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,它只需要大约60ms来响应.

这对我来说似乎不对,因为在空表上执行简单查询不应该花费~940ms.我尝试使用DebugKit进行调试,它表明ControllerAction(在这种情况下,say_hello动作非常简单)占用了超过1秒的处理时间.另请注意,缓慢问题不是由DB引起的,因为DebugKit表明在执行say_hello操作时只有一个查询,并且该查询几乎需要0ms才能完成.

我不确定是什么导致这种缓慢.任何经验丰富的CakePHP成员能否告诉我一些关于这种情况下错误的信息?我还应该做些什么来解决问题并解决问题?

谢谢.

php cakephp cakephp-model

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

访问php中的json对象

我有以下代码:

$string = '{"tracking_url":{"11":{"affiliate":"OMG","url_part1":<<some url>>,"url_part2":<<some url>>"}}}';
$points = json_decode( $string, true );
Run Code Online (Sandbox Code Playgroud)

我如何访问url_part1url_part2

php json

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

什么是添加#.到我的网址?

加载我的cakephp应用程序大约0.5秒后,添加一个以"#"开头的随机代码.到网址.

这种行为可以在这里看到,网址从以下变化:

http://dev4.west-dyke.com/verhuur
Run Code Online (Sandbox Code Playgroud)

http://dev4.west-dyke.com/verhuur#.Ud03FBcW3RE
Run Code Online (Sandbox Code Playgroud)

是什么造成的?

php url cakephp

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

CakePHP不使用我的模型

我有这两个CakePHP V 2.4.5型号:

class Owner extends AppModel {
    public $name = 'Owner';
    public $hasMany = array('Car');
}
Run Code Online (Sandbox Code Playgroud)

class Car extends AppModel {
    public $name = 'Car';
    public $belongsTo = array('Owner');
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中我写道:

var $uses = array('Owner', 'Car');

public function test(){
    $data = array(
        'Owner' => array(
            'name' => 'Me'
        ),
        'Car' => array(
            array('color' => 'red'),
            array('color' => 'blue')
        )
    );
    $this->Owner->saveAssociated($data, array('deep' => true));
}
Run Code Online (Sandbox Code Playgroud)

但CakePHP创造了所有者并忘记了他的汽车:

1   BEGIN
2   INSERT INTO `test`.`owners` (`name`) VALUES ('Me')
3   COMMIT
Run Code Online (Sandbox Code Playgroud)

这就是我的ERM的样子: …

php cakephp cakephp-2.4

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

CakePHP查找条件不会出现在SQL查询中

我的查找条件似乎没有进入基于Debugkits SQL日志的SQL.有人能向我指出我做错了什么吗?这是我第一次尝试过滤查找结果.

BillingCenters控制器

$conditions = array(
    'BillingCenter.isactive' => '1'
);
$this->set(
    'billingcenters', 
    $this->BillingCenter->find('all', array($conditions))
);
Run Code Online (Sandbox Code Playgroud)

DebugKit显示的结果SQL查询是..(缺少WHERE子句???)

SELECT 
    `BillingCenter`.`id`, 
    `BillingCenter`.`startdate`, 
    `BillingCenter`.`enddate`, 
    `BillingCenter`.`name`, 
    `BillingCenter`.`isactive`, 
    `BillingCenter`.`created`, 
    `BillingCenter`.`modified` 
FROM 
    `bm`.`billing_centers` AS `BillingCenter` 
WHERE 
    1 = 1
Run Code Online (Sandbox Code Playgroud)

如果我将控制器代码更改为

$this->set(
    'billingcenters', 
    $this->BillingCenter->find('all')
);
Run Code Online (Sandbox Code Playgroud)

生成的SQL仍然是相同的.

SELECT 
    `BillingCenter`.`id`, 
    `BillingCenter`.`startdate`, 
    `BillingCenter`.`enddate`, 
    `BillingCenter`.`name`, 
    `BillingCenter`.`isactive`, 
    `BillingCenter`.`created`, 
    `BillingCenter`.`modified` 
FROM 
    `bm`.`billing_centers` AS `BillingCenter` 
WHERE 
    1 = 1
Run Code Online (Sandbox Code Playgroud)

cakephp find where conditional-statements

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

为什么使用的分隔符会影响正则表达式的有效性?

我使用这个非常简单的正则表达式:

^[\x20-\x7E]+$
Run Code Online (Sandbox Code Playgroud)

当我尝试将它与一些PHP正则表达式函数一起使用时,例如preg_match(),当我使用~字符(代字号)作为分隔符时,它会在单一情况下抛出警告.

因此,执行以下行很顺利

preg_match("/^[\x20-\x7E]+$/", $s); # delimiter "/"
preg_match("!^[\x20-\x7E]+$!", $s); # delimiter "!"
preg_match("#^[\x20-\x7E]+$#", $s); # delimiter "#"
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这条线

preg_match("~^[\x20-\x7E]+$~", $s); # delimiter "~"
Run Code Online (Sandbox Code Playgroud)

发出警告

Warning: preg_match(): Unknown modifier ']' in some_script.php on line XX
Run Code Online (Sandbox Code Playgroud)

注意:只有当它与双引号一起使用时才会发生!

我一直使用代字号作为分隔符,直到这种情况从未遇到过问题,并且真的很想知道为什么会发生这种情况.找不到代字号在正则表达式中有一些特殊含义(我现在肯定它没有99%),或者它只是一个错误.

我当然可以解决这个问题,但问题是:代字号和任何其他分隔符有什么区别?

php regex

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