小编cwa*_*ole的帖子

使用CodeIgniter的Active Record将NOW()插入数据库

我想在Codeigniter的活动记录中使用mySQL函数NOW()在数据库中插入当前时间.以下查询将不起作用:

$data = array(
        'name' => $name ,
        'email' => $email,
        'time' => NOW()
        );
        $this->db->insert('mytable', $data);
Run Code Online (Sandbox Code Playgroud)

这是因为CodeIgniter的ActiveRecord类会自动转义输入.

以下工作正常,通过调用set()并传递peratmeter FALSE,以便它不会逃避NOW().

$data = array(
        'name' => $name ,
        'email' => $email,
        );
        $this->db->set('time', 'NOW()', FALSE);
        $this->db->insert('mytable', $data);
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是除此之外还有其他方法吗?例如,如果我可以通过添加数据数组中的所有内容以某种方式使用?例如,类似于:

$data = array(
            'name' => $name ,
            'email' => $email,
            'time' => NOW(), FALSE
            );
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter

77
推荐指数
6
解决办法
12万
查看次数

接口中的属性/成员变量?

我想知道有没有什么方法可以让实现者强制声明对象句柄/原语与方法一样.例如:

public interface Rectangle {    
    int height = 0;
    int width = 0;

    public int getHeight();
    public int getWidth();
    public void setHeight(int height);
    public void setWidth(int width);                
}


public class Tile implements Rectangle{
    @Override
    public int getHeight() {
        return 0;
    }

    @Override
    public int getWidth() {
        return 0;
    }

    @Override
    public void setHeight(int height) {
    }

    @Override
    public void setWidth(int width) {   
    }

}
Run Code Online (Sandbox Code Playgroud)

在上面的方法中,我们如何使用接口强制Tile类声明高度和宽度属性?出于某种原因,我希望只使用界面!

我最初想过将它与继承一起使用.但事情是我必须处理3个班级.

  1. 长方形
  2. JLabel的!

 

 class Tile extends JLabel implements Rectangle {}
Run Code Online (Sandbox Code Playgroud)

会工作.!

class …
Run Code Online (Sandbox Code Playgroud)

java interface

65
推荐指数
4
解决办法
14万
查看次数

为什么"&reg"在没有边界分号的情况下呈现为"®"

我一直在遇到一个问题,这个问题是通过谷歌adwords推动的营销活动揭示出来的.使用的标准参数之一是"区域".当用户搜索并点击赞助商链接时,Google会生成一个长URL来跟踪点击,并在引荐来源中发送大量内容.我们捕获了这些记录,我们注意到"Region"参数输入错误.应该是什么

http://ravercats.com/meow?foo=bar&region=catnip
Run Code Online (Sandbox Code Playgroud)

而是通过以下方式:

http://ravercats.com/meow?foo=bar®ion=catnip
Run Code Online (Sandbox Code Playgroud)

我已经证实这种情况发生在所有浏览器中.我的理解是HTML实体语法定义如下:

&VALUE;
Run Code Online (Sandbox Code Playgroud)

其中前导边界是&符号,闭合边界是分号.看起来很简单.问题是,这个实体并没有得到尊重,而且它在整个系统中造成了各种各样的破坏.

有谁知道为什么会这样?这是DTD中的错误吗?(我正在寻找当前的HTML DTD以确定我是否可以理解它)我正在试图找出跨浏览器的常见情况,以便实现这一点,因此我在寻找DTD.

这是您可以使用的证明.获取此代码,从中制作HTML文件并在浏览器中呈现它:

<html>
<a href="http://foo.com/bar?foo=bar&region=US&register=lowpass&reg_test=fail&trademark=correct">http://foo.com/bar?foo=bar&region=US&register=lowpass&reg_test=fail&trademark=correct</a>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:对于那些建议我需要转义整个网址的人来说,上面的示例网址就是这样的例子.真正的网址直接来自Google,我无法控制它的构建方式.这些建议虽然有效,却没有回答这个问题:"为什么会这样?"

html query-string

47
推荐指数
4
解决办法
5万
查看次数

插入如果不存在oracle

我需要能够运行Oracle查询,该查询将插入多个行,但它还会检查是否存在主键,如果存在,则会跳过该插入.就像是:

INSERT ALL
    IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar' )
    (
        INSERT INTO 
            schema.myFoo fo ( primary_key, value1, value2 )
        VALUES
            ('bar','baz','bat')
    ),

    IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar1' )
    (
        INSERT INTO 
            schema.myFoo fo ( primary_key, value1, value2 )
        VALUES
            ('bar1','baz1','bat1')
    )
SELECT * FROM schema.myFoo;
Run Code Online (Sandbox Code Playgroud)

Oracle完全可以实现这一点吗?

如果您可以告诉我如何在PostgreSQL或MySQL中执行此操作,可以获得奖励积分.

sql oracle oracle-sqldeveloper

42
推荐指数
6
解决办法
12万
查看次数

参数与成员变量

我最近一直在使用其他人的代码,我意识到这个人对私有变量和方法参数的理念与我的不同.我一般认为私有变量只应在以下情况下使用:

  1. 需要存储变量以便以后调用.
  2. 存储在变量中的数据在类中全局使用.
  3. 当需要对变量进行全局操作时(与每个类方法读取变量的需求明显不同).
  4. 什么时候会使编程变得更容易.(不可否认,但在许多情况下必须避免将自己画成一个角落).

(我承认,上面的许多都是轻微的重复,但它们看起来各不相同,值得这样的处理......)

这似乎是防止意外更改变量的最有效方法.似乎遵循这些标准将允许最终操纵外部引用(如果类最终被修改),从而在将来为您留下更多选项.这只是一个风格问题(如一个真正的括号或匈牙利命名惯例),还是我有这种信念的理由?在这种情况下,实际上是否有最佳做法?

编辑
我认为这需要纠正.我使用上面"全局"的实际意思,"全局实例方法"并非"任何地方都可以全球访问".

edit2
一个例子被要求:

class foo
{
    private $_my_private_variable;

    public function __constructor__()
    {
     }

    public function useFoo( $variable )
    {
        // This is the line I am wondering about,
        // there does not seem to be a need for storing it.
        $this->_my_private_variable = $variable; 
        $this->_doSometing();
    }

    private function _doSomething()
    {

        /*
          do something with $this->_my_private_variable.
        */
        // This is the only place _my_private_variable is used.
        echo $this->_my_private_variable;
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我做的方式:

class foo
{ …
Run Code Online (Sandbox Code Playgroud)

oop variables private

22
推荐指数
3
解决办法
8331
查看次数

帮助安装cx_Oracle

我正在尝试为Python 2.6安装cx_Oracle,但它失败了.我对C或MS Vis知之甚少.Studio的编译器甚至可以自己修复它.

这是命令行上的输出:

C:\pydev\cx_Oracle-5.0.1>C:\python26\python setup.py install
running install
running build
running build_ext
building 'cx_Oracle' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Oracle\instantclient\sdk\include -IC:\p
ython26\include -IC:\python26\PC /Tccx_Oracle.c /Fobuild\temp.win32-2.6-11g\Release\cx_Oracle.obj -DBUILD_VERSION=5.0.1
cx_Oracle.c
c:\pydev\cx_oracle-5.0.1\StringVar.c(392) : warning C4018: '>' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\StringVar.c(417) : warning C4018: '>' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\ObjectVar.c(117) : warning C4018: '<' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\ObjectVar.c(134) : warning C4018: '<' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\Variable.c(331) : error C2036: 'void *' : unknown size
c:\pydev\cx_oracle-5.0.1\Variable.c(878) : warning …
Run Code Online (Sandbox Code Playgroud)

python cx-oracle

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

动态Active Record查询中的Codeigniter括号

我使用ActiveRecord生成如下查询

SELECT * FROM (`foods`) WHERE `type` = 'fruits' AND 
       `tags` LIKE '%green%' OR `tags` LIKE '%blue%' OR `tags` LIKE '%red%'
Run Code Online (Sandbox Code Playgroud)

数量tags和值未知.数组是动态创建的.下面我添加了一个可能的数组.

$tags = array (                 
        '0'     => 'green'.
        '1'     => 'blue',
        '2'     => 'red'
);  
Run Code Online (Sandbox Code Playgroud)

有一个标签数组,我使用以下循环来创建我发布在顶部的查询.

$this->db->where('type', $type); //var type is retrieved from input value

foreach($tags as $tag):         
     $this->db->or_like('tags', $tag);
endforeach; 
Run Code Online (Sandbox Code Playgroud)

问题:我需要在LIKE下面的子句中添加括号:

SELECT * FROM (`foods`) WHERE `type` = 'fruits' AND 
      (`tags` LIKE '%green%' OR `tags` LIKE '%blue%' OR `tags` LIKE '%red%')
Run Code Online (Sandbox Code Playgroud)

我知道如果括号内的内容是静态的,但是foreach循环将我抛弃,我该怎么做到这一点.

mysql arrays activerecord codeigniter

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

如何在Linux中存储diff的结果

在将diff应用于文件A.txt和B.txt之后,如何在另一个文件上获得结果.

假设文件A.txt具有:

a
b
c
Run Code Online (Sandbox Code Playgroud)

文件B.txt有:

a
b
Run Code Online (Sandbox Code Playgroud)

在跑步

diff A.txt B.txt它给出结果为c,但是如何将它存储在文件C.txt中?

linux diff file

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

如何扩展knockout observables以从绑定中读取默认值?

在构建新的MVC4应用程序时,我终于找到了开始学习KnockoutJS的时间.我试图找出从已在视图中设置的默认值初始化可观察值的最佳方法.

这是一个人为的例子,但我想直接向视图呈现一个observable的默认值,如下所示:

<input type="hidden" 
       value="@Model.SomeValue"
       data-bind="value: myObservableReference"/>
Run Code Online (Sandbox Code Playgroud)

我知道默认值通常通过以下方式初始化:

model.myObservableReference = ko.obervable("SomeValue");
Run Code Online (Sandbox Code Playgroud)

但是,我想找到一种方法来扩展初始化,使得:

model.myObservableReference = ko.obervable();
Run Code Online (Sandbox Code Playgroud)

如果存在值,则会从绑定中读取现有值.

至于我到目前为止设法让我的KnockoutJS代码完全不知道剃刀世界,我想避免以下的邋::

model.myObservableReference = ko.obervable(@Model.SomeValue);
Run Code Online (Sandbox Code Playgroud)

我猜这将通过扩展器或自定义绑定器处理,但如果有人能指出我正确的方向,将不胜感激.

asp.net-mvc-4 knockout.js

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

我需要了解C++中的内存?

我一直在尽力学习C++,但我之前的培训在一个主要问题上不足:内存管理.我的主要语言都有自动垃圾收集,所以跟踪一切从来没有真正必要.我已经尝试过在线阅读C++中的内存管理,但我对此感到怀疑,因为我遗漏了一些东西.

所以,这是一个多部分的问题:

  • 关于内存管理我需要了解的最低限度是什么?(或者,我在哪里找到它)?
  • 我在哪里可以获得中级和高级知识/教程/等(一旦完成基础知识)?

  • 进一步来说:
  • 指针和引用之间的性能差异是什么?
  • 我听说在循环中,你需要确保delete在循环重新迭代之前调用任何新指针.它是否正确?你需要用引用做些什么吗?
  • 什么是内存泄漏的经典例子?
  • 我需要了解以下内容(我是否真的需要使用它们 - 如果是这样,在哪里?):
    • malloc
    • free
    • calloc
    • realloc

***********************更新*******************

这是为了解释在评论一中对lmgtfy的引用(由Ewan提供).如果您开始阅读那里可用的信息,则对初学者没用.我认为这是一个伟大的理论,但它对这个问题既不相关也不有用.

c++ pointers memory-management reference

16
推荐指数
5
解决办法
1513
查看次数