我正试图从如下PHP脚本运行MySQL查询:
$q = "
UPDATE
cf_ab_companies, inndata200
SET
cf_ab_companies.col_158 = inndata200.AFakt_10_Fast_renhold,
cf_ab_companies.col_159 = IF ( inndata200.Startdato = "01.01.3000 00:00" OR inndata200.Startdato = "01.01.2000 00:00", NULL, str_to_date(inndata200.Startdato, '%d.%m.%Y')),
cf_ab_companies.col_160 = IF ( inndata200.Sluttdato = "01.01.3000 00:00" OR inndata200.Sluttdato = "01.01.2000 00:00", NULL, str_to_date(inndata200.Sluttdato, '%d.%m.%Y'))
WHERE
cf_ab_companies.model_id = inndata200.ImportGOID;";
mysql_query($q, $db);
但是,该查询似乎没有正确地存储在PHP中。在PHP中存储这样的查询最简单的方法是什么?
谢谢你的帮助
最佳答案
这应该会起作用;在引号(\
)之前加斜杠("
),因为这样会混淆:
$q = "
UPDATE
cf_ab_companies, inndata200
SET
cf_ab_companies.col_158 = inndata200.AFakt_10_Fast_renhold,
cf_ab_companies.col_159 = IF ( inndata200.Startdato = \"01.01.3000 00:00\" OR inndata200.Startdato = \"01.01.2000 00:00\", NULL, str_to_date(inndata200.Startdato, '%d.%m.%Y')),
cf_ab_companies.col_160 = IF ( inndata200.Sluttdato = \"01.01.3000 00:00\" OR inndata200.Sluttdato = \"01.01.2000 00:00\", NULL, str_to_date(inndata200.Sluttdato, '%d.%m.%Y'))
WHERE
cf_ab_companies.model_id = inndata200.ImportGOID;";