小编Ran*_*eed的帖子

为什么mysqli open transcation会锁定数据库?

我试图使用mysqli插入数据,并有一些奇怪的行为.例如,当我第一次使用$mysqli->autocommit(FALSE);并花费几分钟来运行我的PHP并等待提供的查询时,它将保持数据库直到$mysqli->commit();,因此我无法执行任何其他数据库操作.当我检查phpmyadmin中的状态时,它显示即将到来的SQL查询状态是Waiting for table metalock,如何修复它?谢谢

/* Insert log Query */
function putLog($query){
global $mysqli,$ip,$browser,$dateLog,$isQuerySuccess;
$isQuerySuccess = $mysqli->query("INSERT INTO DPS_Log_$dateLog (PageID,FunctionID,ActionID,UserID,UserIP,UserInfo,LogType,Remark,LogTime) VALUES (15,20,25,25,'$ip','$browser',1,'$query',NOW())") ? true : false;
}

/* Start DB connection */
$mysqli = new mysqli(DATABASEIP, DBUSER, DBPWD, DATABASE,PORT);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->autocommit(FALSE);

$isQuerySuccess = true;

putLog ("Fail to delete: $folderPath.$item");

$isQuerySuccess ? $mysqli->commit() : $mysqli->rollback();
$mysqli->close();
Run Code Online (Sandbox Code Playgroud)

更新:我终于发现问题是由另一个查询引起的.简而言之,上面的编码是插入日志,而下面的查询是检查用户登录时是否存在日志表.问题是,当我打开一个事务并尝试记录操作(操作需要> 30秒)的结果时,我无法执行下面的查询(等待表metalock)所以整个系统一直保持到操作完成,如何修理它?谢谢

$sql = "
CREATE TABLE IF NOT EXISTS `$logTableName` …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli transactions

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

在C中程序完成时暂停屏幕

我希望能够Press any key to exit在程序完成时做一些事情,但却无法弄清楚如何.

当我运行程序时,终端退出后才能看到结果.

//by Nyxm
#include <stdio.h>

main() {

    int temp, x, flag, num, size;

    printf("\nEnter how many numbers you wish to enter: ");
    scanf("%d", &size);
    int array[size];

    for (x = 0; x < size; x++) {
        printf("Enter an integer: ");
        scanf("%d", &num);
        array[x] = num;
    }

    printf("Please enter either 1 or 2\n1:\tAscending\n2:\tDescending\n\n...");
    scanf("%d", &num);

    if (num == 1) {
        flag = 0;
        while (flag == 0) {
            flag = 1;
            for (x = 1; …
Run Code Online (Sandbox Code Playgroud)

c

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

对 MySQL 查询进行排序,忽略大小写

呃,你马上就会想,“使用 ORDER BY,然后使用列”,但我有以下值:

  1. A
  2. Z
  3. A
  4. z

当我使用此查询对它们进行排序时:

SELECT * FROM Diaries ORDER BY title ASC;
Run Code Online (Sandbox Code Playgroud)

然后我得到这个:

  1. A
  2. Z
  3. A
  4. z

当我想要得到这样的东西时,第一期

  1. A
  2. A
  3. Z
  4. z

我在第二个问题的其他地方遇到了相同的排序问题,但我能够用以下方法解决它:通过暂时将所有字符都设置为小写

for (NSString *key in [dicGroupedStories allKeys]) {
    [dicGroupedStories setValue: [[dicGroupedStories objectForKey: key] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
        NSString *stringA = [[a objectStory_title] lowercaseString];
        NSString *stringB = [[b objectStory_title] lowercaseString];

        return [stringA compare: stringB];
    }] forKey: key];

}
Run Code Online (Sandbox Code Playgroud)

我不使用此比较器对第一个问题进行排序的唯一原因是我不想执行查询然后对它们进行排序然后使用数组。

问题:我想知道是否有一种方法可以按照我想要的方式对它们进行排序,就像我在第二期中所做的那样,在 SQL 查询中

对象 …

mysql sorting objective-c case-insensitive

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

leaflet:不要在doubleclick上触发click事件功能

我有一个关于传单中地图点击的问题.如果我点击地图我想在那里设置一个标记,但如果双击地图我只想放大而不设置标记.所以我有以下代码:

var map = L.map(attrs.id, {
            center: [scope.lat, scope.lng],
            zoom: 14
        });
var marker = L.marker([scope.lat, scope.lng],{draggable: true});
map.on('click', function(event){
            marker.setLatLng(event.latlng);
            marker.addTo(map);                
        });
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我在地图上双击时,也会触发click事件,我想删除该行为.我怎样才能做到这一点?

谢谢玛格达

javascript leaflet

0
推荐指数
3
解决办法
6443
查看次数

如何发出包含bash脚本中单引号的语句

我尝试在我的一个脚本中执行以下mysql命令:

mysql -e 'show global status like 'open_files''
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用,因为字符串周围有单引号'open_files'.

如何发出包含单引号的命令?

mysql mysql-python

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

PHP邮件表格 - 标记为垃圾邮件

我在php中构建了一个邮件表单,允许我只输入一个电子邮件地址,然后直接向输入的地址发送电子邮件,这是为了节省一些愚蠢的时间,因为我必须发送数千人.php如下:

<?php
{
$to = $_POST['contactEmail'];
$subject = "UK Exporters - Buyers of Commercial Vehicles";
$headers = "Content-type:text/html;charset=iso-8859-1";

$message = 
"
<html><head></head><body style='font-family: arial;'>      
<span style='font-weight: bold;'>To whom it may concern,</span><br /><br />

At UK Exporters, we are buyers of Scanias, Volvos, Mercedes, Renaults, DAFs.<br /> 
Runners and non-runners.<br />
4 X 2’s, 8 x 4’s, 6 x 2’s.<br /><br />

We need your old stock for export orders. Top prices paid. For export orders. If you     have any items …
Run Code Online (Sandbox Code Playgroud)

php email-spam

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