Prestashop - MySql更新查询脚本不起作用

时间:2015-05-18 20:40:01

标签: mysql prestashop updating

这是我的第一个问题,涉及尝试在Prestashop 1.6环境中获取MySql查询(我是MySql新手)作为PHP脚本。我基本上想要用另一个名为“id_product”的字段中的数据更新名为“reference”的“空白”字段,并为数据添加前缀......

为了测试查询,我首先通过phpadmin后端运行我的原始查询(使用reference =“”)以确保它有效并且确实:

UPDATE ps_product SET reference = CONCAT ("RPR - ",id_product + 10000) where reference = " ";

然后,我编辑了几条记录的“引用”字段,删除了数据,使它们为空。

然后我在根目录中创建了一个名为“greg.php”的php文件,其中包含以下内容:

<?php

$sql = 'UPDATE '._DB_PREFIX_.'product SET reference = CONCAT ("RPR - ",id_product + 10000) where reference = "";
if (!Db::getInstance()->execute($sql))
    die('error!');

然后我使用以下命令从浏览器运行greg.php脚本:

mydomain.com.au/greg.php

它不起作用(即:它没有更新表中的引用字段)或显示错误消息或任何消息。

我想定期通过Cron运行这个脚本......

1 个答案:

答案 0 :(得分:0)

你的空白字段可能不是一个空格(' ') - 它可能是一个空字符串('')或null。因此,您需要相应地更改where子句:

UPDATE ps_product 
SET    reference = CONCAT ('RPR - ', id_product + 10000) 
WHERE  reference = '' OR reference IS NULL;