小编You*_*nse的帖子

两个mysqli查询

是否有可能有两个mysqli_queries像这样?:

mysqli_query($dblink, "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName')");
mysqli_query($dblink, "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year')");
Run Code Online (Sandbox Code Playgroud)

基本上我想更新数据库中的两个表.有一个更好的方法吗?

php mysqli

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

MySQL状态“关闭表”花费了两倍的时间

我有一个删除查询,需要很长时间。当我签入时processlist,状态显示为“正在关闭表格 ”。关闭表需要很长时间。

示例:
我运行一个查询,总时间为1:42秒,其中80-90秒用于关闭表。

这是发生了像所有的查询load dataselectinsert

以下是my.cnf设置:

key_buffer_size = 2G
sort_buffer_size = 8M
read_buffer_size = 10M
read_rnd_buffer_size = 10M
join_buffer_size = 2M
bulk_insert_buffer_size = 100M
myisam_sort_buffer_size = 64M

#tmp_table_size = 100M
#max_heap_table_size = 64M
#max_allowed_packet = 64M

table_cache=1024
Run Code Online (Sandbox Code Playgroud)


我的记忆信息

[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          7862       6686       1175          0         11       4091
-/+ buffers/cache:       2583       5278
Swap:        15998         18      15980
Run Code Online (Sandbox Code Playgroud)


请告诉我 …

mysql performance

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

是否存在不会停止脚本执行的异常?

我编写了错误处理类,它将所有错误分为正常错误(通知、警告……)和严重错误。

现在我发现将所有错误转换为异常是一个很好的做法。它还会缩短我的代码。

但是,我不知道如何处理这个问题......

  1. 是否存在不会停止脚本执行的异常以及会停止脚本执行的异常?如果没有...如何区分转换后的错误?
  2. 将错误转换为异常是通过调用 set_error_handler() 并在那里抛出新的 ErrorException() 来完成的......下一步是什么?set_exception_handler() 是自动调用的吗?

php exception

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

SELECT count(column) slower than SELECT *

Two simple queries:

  • SELECT * FROM some_table WHERE some_column = 1

    Returns array with all the records, with columns and values. About 100K in total. Takes ~40ms to complete.

  • SELECT COUNT(id) FROM some_table WHERE some_column = 1

    Returns just the record count value, same count as the query above. Takes 1 second!!

EXPLAIN QUERY PLAN tells me the same thing for both queries: that it's searching the table using index...

Am I missing something here? Why is getting the count …

php sqlite performance pdo count

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

从codeigniter调用存储过程

我正在使用具有mysqli作为db驱动程序的codeigniter,我试图从我的模型调用一个简单的存储过程但是得到一个错误.我究竟做错了什么

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pc()' at line 1

pc()

Filename: C:\hosted\saner.gy\ipa\system\database\DB_driver.php

Line Number: 330
Run Code Online (Sandbox Code Playgroud)

当我运行查询调用存储过程它运行良好,但从codeigniter它会抛出上述错误

存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
    SELECT * FROM tbl_flo
  WHERE name = 'sam';
END
Run Code Online (Sandbox Code Playgroud)

调节器

public function sp()
{
$this->User_model->pc();
}
Run Code Online (Sandbox Code Playgroud)

模型

public function pc()
        {
            $query = …
Run Code Online (Sandbox Code Playgroud)

stored-procedures codeigniter

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

PHP带有双引号的json_encode数据

我正在使用这个简单的代码将数据库查询结果转换为JSON格式:

$result = $mysqli->query("
    SELECT  
        date as a 
        , sum(sales) as b
        , product as c
    FROM  
        default_dataset
    GROUP BY
        date
        , product
    ORDER BY
        date        
");

$data = $result->fetch_all(MYSQLI_ASSOC);

echo stripslashes(json_encode($data));
Run Code Online (Sandbox Code Playgroud)

问题是如果此查询返回的数据中存在双引号(例如,在产品列中).json_encode函数不会以良好的JSON格式对数据进行编码.

有人可以帮我如何转义查询返回的双引号?谢谢.

php json

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

什么是插件以及它在 mysql 中是如何工作的?

我在MySql官方网站(https://dev.mysql.com/doc/refman/5.1/en/partitioning.html)探索分区。在第一页,我发现plugins.

mysql> show plugins;
+----------------------------+----------+--------------------+---------+---------+
| Name                       | Status   | Type               | Library | License |
+----------------------------+----------+--------------------+---------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION     | NULL    | GPL     |
| mysql_old_password         | ACTIVE   | AUTHENTICATION     | NULL    | GPL     |
| sha256_password            | ACTIVE   | AUTHENTICATION     | NULL    | GPL     |
| MyISAM                     | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     | …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

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

PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

当您获取时,PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组,即使列的 SQL 类型本应是数字类型(例如 int 或 float)。我设法解决了这个问题,但我想了解为什么它们一开始就这样设计。是不是因为PDO本身不支持(或者之前不支持)?

php mysql sql-server pdo

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

根据数据库中的ordernumber更改行

我正在为我的教育项目创建一个披萨订购网站.在stackoverflow-community的帮助下,我已经取得了很多成就 - 谢谢!但现在我陷入困境,无法找到解决问题的方法.

如何根据ordernumber数据库(mysqli)中的交替更改行颜色(白色/灰色/白色/灰色... )?本ordernumber可以在多个行,这样我就可以按行并不简单改变颜色的行.

我已尝试使用jquery,但仅当订购号始终保留在列表中时才有效(偶数/奇数)...如果订单被取消,则它不再有效(请参阅缺少订单号7的图片)

这是jquery中的代码:

$(document).ready(function() {
var check = 0;
          
for(var i =0; i<= $("tr").length;i++){
          
$("tr").each(function(){
        
if(parseInt($(this).find("#bestnr").text())==check){
            
    if(check%2 == 0){
    
        $(this).css("background-color","white");    
    
    }else{
    
    $(this).css("background-color","#DCDCDC");    
    
    }
     
        }    

        });
          
          check +=1;

          }
        
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢你的帮助!

javascript php jquery

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

Mysql - 根据其他值获取所有不同行的总和

我有一张看起来像这样的桌子,

+-----+--------+-------+
| num | amount | value |
+-----+--------+-------+
|   1 |     12 |     1 |
|   1 |     12 |     1 |
|   2 |     13 |     1 |
|   4 |     15 |     0 |
|   2 |     13 |     1 |
|   3 |     14 |     1 |
|   3 |     14 |     1 |
|   1 |     12 |     1 |
+-----+--------+-------+
Run Code Online (Sandbox Code Playgroud)

我想根据不同的“num”列对“金额”列求和,其中“值”等于 1,例如,在运行以下查询后,

select DISTINCT num, amount, value from test where value =1 ; …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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