小编Not*_*Jay的帖子

为"卡住的"Mysql表修复"超出锁定等待超时;尝试重新启动事务"?

从脚本我发送了数千次这样的查询到我的本地数据库:

update some_table set some_column = some_value
Run Code Online (Sandbox Code Playgroud)

我忘了添加where部分,因此同一列被设置为表中所有行的相同值,这已经完成了数千次并且列已被索引,因此相应的索引可能更新了很多次.

我注意到有些事情是错的,因为它花了太长时间,所以我杀了剧本.从那时起我甚至重新启动了我的计算机,但是表格中存在一些问题,因为简单查询需要很长时间才能运行,当我尝试删除相关索引时,它会失败并显示以下消息:

Lock wait timeout exceeded; try restarting transaction
Run Code Online (Sandbox Code Playgroud)

这是一个innodb表,因此卡住交易可能是隐含的.如何修复此表并从中删除卡住的事务?

mysql transactions

116
推荐指数
7
解决办法
31万
查看次数

MySQL选择*具有不同的id

我试图选择具有不同ID的行,但返回所有字段.

SELECT * DISTINCT(ID) FROM table WHERE ...
Run Code Online (Sandbox Code Playgroud)

我最终需要ID,City,State和Zip.如何获取不重复ID的行并将所有字段返回到myql_fetch_array?

我尝试过以下方法:

SELECT * DISTINCT(ID) FROM table WHERE ...

SELECT DISTINCT ID * FROM table WHERE ...

SELECT ID,City,State,Zip DISTINCT ID FROM ...

SELECT ID,City,State,Zip DISTINCT(ID) FROM ...
Run Code Online (Sandbox Code Playgroud)

我在这里读其他问题似乎没有任何帮助.提前致谢!

php mysql

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

用Preg_Replace替换撇号的麻烦

我试图从文本中删除撇号,它并没有真正起作用.它必须是小事.

$text = preg_replace('/\'/', '', $text);
Run Code Online (Sandbox Code Playgroud)

这就是我现在正在使用的删除它.我究竟做错了什么?

有一系列这些删除特殊字符将它们转换为URL并将它们存储在我的数据库中.然而,最近的批次出现了一个' 在哪里'是.

任何帮助是极大的赞赏.先感谢您.

php preg-replace

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

西班牙字符无法正确显示

我得到了一个可爱的 盒子,应该显示西班牙语字符.(即:ñ,á等).我已经确定我的meta http-equiv设置为utf-8:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

我还确保页面标题也设置为utf-8:

header('Content-type: text/html; charset=UTF-8');
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的代码的开始阶段:

<?php
    setlocale(LC_ALL, 'es_MX');
    $datetime = strtotime($event['datetime']);
    $date = date("M j, Y", $datetime);
    $day = strftime("%A", $datetime);
    $time = date("g:i", $datetime);
?>
    <a href="/<?= $event['request'] ?>.html"><?= $day ?> <?= $time ?></a> 
Run Code Online (Sandbox Code Playgroud)

上面的代码在where语句中.我已经读过在数据库中切换排序也可能是一个因素,但我已经将它设置为UTF-8 General ci.另外,该列中唯一的东西是DateTime,无论如何都是数字,无论如何都无法进行整理.

结果:s bado8:00

一如既往地非常感谢任何帮助.

php mysql date strftime special-characters

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

PHP - 获取文本的前两句话?

我的变量$content包含我的文字.我想创建一个摘录$content并显示第一个句子,如果句子短于15个字符,我想显示第二个句子.

我已经尝试从文件中删除前50个字符,它的工作原理如下:

<?php echo substr($content, 0, 50); ?>
Run Code Online (Sandbox Code Playgroud)

但我对结果不满意(我不希望任何词语被削减).

是否有PHP函数获取整个单词/句子,而不仅仅是substr?

非常感谢!

php substring

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

将大型CSV文件导入MySQL

我正在尝试将一个csv文件导入到一个mysql表中,我目前有一个逐行运行的脚本,因为我需要将一个id与另一个id结合使用以及格式化mysql格式的日期.

csv文件的列数多于我当前导入的列数.是否更容易导入所有列?

我正在阅读LOAD DATA INFILE(http://dev.mysql.com/doc/refman/5.1/en/load-data.html),但我想知道如何使用它并散列id并格式化日期没有逐行执行.我当前的脚本占用时间太长,导致运行时出现站点性能问题.

这是我有的:

$url = 'http://www.example.com/directory/file.csv';
if (($handle = fopen($url, "r")) !== FALSE) 
{
fgetcsv($handle, 1000, ",");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
{
    $EvID = $data[0];
    $Ev = $data[1];
    $PerID = $data[2];
    $Per = $data[3];
    $VName = $data[4];
    $VID = $data[5];
    $VSA = $data[6];
    $DateTime = $data[7];
    $PCatID = $data[8];
    $PCat = $data[9];
    $CCatID = $data[10];
    $CCat = $data[11];
    $GCatID = $data[12];
    $GCat = $data[13];
    $City = $data[14];
    $State = $data[15];
    $StateID = $data[16]; …
Run Code Online (Sandbox Code Playgroud)

php mysql load-data-infile fgetcsv

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

使用观察员Magento更改所有页面上的产品价格

我正在学习Magento,我开始学习活动和观察员.通过在管理产品区域中设置,将一定百分比的金额添加到产品中.它工作正常,但折扣价仅显示在产品页面上.任何人都可以建议我如何通过Magento改变价格.我的意思是改变价格应该去购物车,订购等.

下面是观察者的代码

<?php
class Xyz_Catalog_Model_Price_Observer
{
    public function __construct()
    {
    }
    /**
     * Applies the special price percentage discount
     * @param   Varien_Event_Observer $observer
     * @return  Xyz_Catalog_Model_Price_Observer
     */
    public function apply_discount_percent($observer)
    {
      $event = $observer->getEvent();
      $product = $event->getProduct();   
      // process percentage discounts only for simple products     
      if ($product->getSuperProduct() && $product->getSuperProduct()->isConfigurable()) {
      } else {
        $percentDiscount = $product->getPercentDiscount();

        if (is_numeric($percentDiscount)) {
          $today = floor(time()/86400)*86400;
          $from = floor(strtotime($product->getSpecialFromDate())/86400)*86400;
          $to = floor(strtotime($product->getSpecialToDate())/86400)*86400;

          if ($product->getSpecialFromDate() && $today < $from) {
          } elseif ($product->getSpecialToDate() …
Run Code Online (Sandbox Code Playgroud)

events observers magento

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

是否可以从一个服务器(sftp)下载文件并使用php将其上传到我的服务器?

我被告知这不能做,但我想在这里得到一些其他的意见.在涉及到这样的事情时,我有点像新手.

我的网站:ExampleSiteA.com

要下载的文件:ExampleSiteB.com

基本上,我从ExampleSiteB.com下载csv文件以更新我的网站ExampleSiteA.com.为此,我通过CoreFTP手动下载csv文件,然后手动将其上传到ExampleSiteA.com.该文件每天更改,我想跳过此步骤,以便我可以自动执行该过程.

请记住,我需要通过SFTP从ExampleSiteB.com下载csv文件...

我不确定是否有可能直接下载/上传文件从一台服务器到另一台服务器,如果一个是SFTP.文件大小也很大,平均大约25,000 KB/25 MB.

我还没有探索的另一个选择是要求或包括来自另一台服务器的文件......这是一种选择还是可能性?该文件位于专门用于我的站点的文件夹中,SFTP下载需要登录.

任何见解将不胜感激.提前致谢!

php sftp

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

Javascript重定向-保留路径和变量,切换域

我正在尝试使用javascript进行移动重定向。这是我要完成的工作:

普通视图:https//secure.example.com/checkout/Checkout.aspx?a = 1&b = 2&c = 3&d = 456789

重定向到

移动视图:https : //differentdomain.com/mobile/Checkout.aspx?a=1&b=2&c=3&d=456789

        <script type="text/javascript">
            function TN_mobileUrlOverride()
                {
                    TN_mobile.DroidUrl = TN_mobile.IphoneUrl = TN_mobile.BlackBerryUrl = "https://example.com/mobile" + window.location;
                }
        </script>
        <script src="http://s3.amazonaws.com/TNService/Js/mobile.js"></script>
Run Code Online (Sandbox Code Playgroud)

当我使用window.location时,它将添加整个域,从而导致:https : //example.com/mobile/https : //differentdomain.com/mobile/Checkout.aspx?a=1&b=2&c=3&d=456789

当我使用window.location.path时,它不携带变量,仅携带文件:https : //differentdomain.com/mobile/Checkout.aspx

替换域时如何保留文件和URL参数?

谢谢!

javascript mobile redirect

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