问题列表 - 第18168页

PHP如何检查是否需要关闭MySQLi查询?

我为我正在处理的项目创建了一个简单的 MySQLi 类,以便更轻松、更简化地从数据库中提取和推送到数据库。(也是为了更熟悉 PHP 中的 OOP

我一直遇到的一个问题是努力使其尽可能高效。我尝试关闭/释放每个查询/语句/结果集。这样做时,我经常收到以下错误:

Warning: mysqli_result::close(): Couldn't fetch mysqli_result
Run Code Online (Sandbox Code Playgroud)

我想我得到了上面的内容,因为它试图连续两次关闭查询。

目前,我的班级可以做出准备和未准备的陈述。所以我尝试在 2 个地方关闭查询/语句。我在准备语句时检查我是否已经准备好了语句,如果是这样,我需要在创建新语句之前关闭旧语句,最后在类的析构函数中。

我意识到我可以在提取并存储结果后关闭查询/语句,但由于一些原因,这似乎很混乱。一方面,它消除了重用准备好的语句的可能性。以及不允许我在查询运行后提取有关查询的一些信息,例如受影响的行等。

我知道我可以只为每个查询存储这个信息,而不是什么,但似乎解决这个问题的正确方法是关闭/释放查询/语句,如果我需要再做一个,然后在最后再次的脚本。

我曾尝试环顾四周并阅读我应该如何正确处理这项任务,但我一直无法想出任何东西。

所以我的问题是,无论如何要测试查询或语句是否需要关闭或释放?或者我应该尝试解决这个问题有更好的方法吗?

感谢任何人可以提供的任何帮助或见解。

php mysql mysqli prepared-statement

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

包装密码学软件和分发

我正在开发一个python GUI应用程序,并计划调用与我的程序一起打包的外部程序来进行一些加密.我注意到像OpenSSL这样的网站谈论有关加密软件的出口法律.

如果我不能用我的应用程序打包加密软件的二进制形式,我该如何解决这个仍然能够加密我的程序的输出?

python cryptography aes itar

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

Java中元素迭代器的并行计算

我现在有过几次同样的需求,并想就构建解决方案的正确方法获得其他想法。需要的是对多个线程上的多个元素执行一些操作,而无需一次将所有元素都放在内存中,只需要计算中的元素。就像,Iterables.partition是不够的,因为它预先将所有元素都放入内存中。

用代码表达,我想写一个 BulkCalc2,它和 BulkCalc1 做同样的事情,只是并行。下面的示例代码说明了我的最佳尝试。我不满意,因为它又大又丑,但它似乎实现了我的目标,即在工作完成之前保持线程的高度利用,在计算过程中传播任何异常,并且一次在内存中不必有超过numThreads 个 BigThing实例.

我会接受以最简洁的方式满足既定目标的答案,无论是改进 BulkCalc2 的方法还是完全不同的解决方案。

interface BigThing {

    int getId();

    String getString();
}

class Calc {

    // somewhat expensive computation
    double calc(BigThing bigThing) {
        Random r = new Random(bigThing.getString().hashCode());
        double d = 0;
        for (int i = 0; i < 100000; i++) {
            d += r.nextDouble();
        }
        return d;
    }
}

class BulkCalc1 {

    final Calc calc;

    public BulkCalc1(Calc calc) {
        this.calc = calc;
    }

    public TreeMap<Integer, …
Run Code Online (Sandbox Code Playgroud)

java parallel-processing iterator

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

非常简单的Objective-C程序(Snow Leopard)上的EXC_BAD_ACCESS

我正在关注Mac上的Learning Objective-C中最早的一个例子.我的代码几乎与书中的代码完全相同(一些空格和平凡的括号可能不同).它看起来像这样:

#import <Foundation/Foundation.h>

BOOL areIntsDifferent (int thing1, int thing2) {
    if (thing1 == thing2) {
        return NO;
    }
    else {
        return YES;
    }

}

NSString * boolString (BOOL yesNo) {
    if (yesNo == NO) {
        return (@"NO");
    }
    else {
        return (@"YES");
    }
}


int main (int argc, const char * argv[]) {
    BOOL areTheyDifferent;

    areTheyDifferent = areIntsDifferent(5, 5);
    NSLog(@"are %d and %d different? %@", 5, 5, boolString(areTheyDifferent));

    areTheyDifferent = areIntsDifferent(23, 42);
    NSLog(@"are %d and $d different? …
Run Code Online (Sandbox Code Playgroud)

xcode exc-bad-access objective-c osx-snow-leopard

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

在Spring JdbcTemplate中查看底层SQL?

我正在学习JdbcTemplate和NamedParameterJdbcTemplate的奇迹.我喜欢我所看到的,但有没有简单的方法来查看它最终执行的底层SQL?我希望看到这个用于调试目的(例如,在外部工具中调试生成的SQL).

sql jdbc spring-jdbc

55
推荐指数
4
解决办法
8万
查看次数

在Mac OS X上编辑程序集

我目前正在Windows上的IDA Pro中拆解Mach-O可执行文件(可执行文件在Mac OS X上运行,具体而言).我有一条我想要改变的指令,但似乎IDA Pro 不允许你这样做.所以,我尝试在OS X上使用otool转储程序集(它做得很好).但是,在otool中编辑程序集后,我尝试使用它重新组装它as <file name of modified otool -tV output>.这给我带来了一堆错误Junk character 43 (+).在Mac OS X上只更改Mach-O二进制中的单个指令的最简单方法是什么?

macos assembly mach-o

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

编译Qt UI文件?

如何编译UI文件以生成标题?还有另一种方法让Qt项目镜像Visual Studio项目并用Qt编译来获取它们吗?我想我可以有一个蝙蝠文件或其他东西.需要运行什么才能从UI生成头文件?

qt

4
推荐指数
2
解决办法
9773
查看次数

C++向量与数组(时间)

我和我在这里有两个程序,两个程序完成相同的任务.它们只是将布尔数组/向量设置为值true.使用向量的程序需要27秒才能运行,而涉及大小为5倍的数组的程序则需要不到1秒.我想知道为什么会有这么大的差异的确切原因?载体真的效率低吗?

程序使用向量

#include <iostream>
#include <vector>
#include <ctime>

using namespace std;

int main(){
 const int size = 2000;
 time_t start, end;
 time(&start);
 vector<bool> v(size);
 for(int i = 0; i < size; i++){
  for(int j = 0; j < size; j++){
   v[i] = true;
  }
 }
 time(&end);
 cout<<difftime(end, start)<<" seconds."<<endl;
}
Run Code Online (Sandbox Code Playgroud)

运行时 - 27秒

使用Array编程

#include <iostream>
#include <ctime>

using namespace std;

int main(){
 const int size = 10000; // 5 times more size
 time_t start, end;
 time(&start);
 bool v[size];
 for(int …
Run Code Online (Sandbox Code Playgroud)

c++ arrays performance time vector

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

使用Windbg分析转储文件:我应该在符号文件路径中设置什么路径?

我的VS 2008使用procdump崩溃后创建了一个转储文件.我怀疑这是一个Resharper问题,因此我需要为Resharper生成足够的信息来修复.

现在,当我打开Windbg时,我需要设置符号文件路径.根据文档,我必须将其设置为:

SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)

但是由于我正在调查resharper中的问题,我不应该从Resharper应用程序目录中获取pdb文件,而不是下载VS 2008或Microsoft dll符号吗?

或者,换句话说,我只需要Resharper pdb符号,而不是Microsoft的符号,因为它是导致崩溃的Resharper,我是对的吗?

windbg

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

C++抽象基类问题

所以我在C++中遇到了ABC设计的问题.我将使用我实际拥有的简化示例.在我遇到问题之前,请忽略任何语法错误.

所以我有一个ABC:

class ABC  
{  
public:  
    virtual void DoSomething() = 0;  
};
Run Code Online (Sandbox Code Playgroud)

然后我有一个派生类:

class Derived: public ABC  
{  
public:  
    void DoSomething() { // something }  
};
Run Code Online (Sandbox Code Playgroud)

在我的主要逻辑功能中,我有以下几点:

ABC* obj = new Derived;
obj->DoSomething();
Run Code Online (Sandbox Code Playgroud)

现在,在这一点上,我的代码运行得很漂亮,如果我使用抽象基类作为派生对象的类型将类型(现在手动)从一个派生类更改为另一个派生类,我有多个类正常运行.

现在我的问题......

如果我想更改我的派生类以添加ABC不支持的功能,那么我的编译器无法识别它们.例如,如果我按原样离开ABC并将Derived更改为:

class Derived: public ABC  
{  
public:  
    void DoSomething() { // something }  
    void DoSomethingElse() { // something else, not defined in ABC}  
}; 
Run Code Online (Sandbox Code Playgroud)

然后回到我的主要逻辑功能:

ABC* obj = new Derived;  
obj->DoSomething(); 
// Compiler does not recognize this, due to not being in the "ABC" class …
Run Code Online (Sandbox Code Playgroud)

c++

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