我有以下查询:
UPDATE languages
SET val = CASE id
WHEN '1' THEN '$PageIsLoading'
WHEN '2' THEN '$start'
WHEN '3' THEN '$DM'
WHEN '4' THEN '$experience'
...
WHEN '25' THEN '$mate'
WHEN '26' THEN '$gloss'
WHEN '27' THEN '$uvLaquer'
WHEN '28' THEN '$without'
WHEN '29' THEN '$oneFace'
WHEN '30' THEN '$twoFace'
WHEN '31' THEN '$Quantity'
WHEN '32' THEN '$BeginProject'
WHEN '33' THEN '$ImportantNote'
WHEN '34' THEN '$FinalPrice'
WHEN '35' THEN '$coords'
ELSE val
END
WHERE `id` IN ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35');
如果我单独通过MySQL(例如使用HeidiSQL执行它),它将使用新值更新单元格。
当我通过PHP传递它时,它根本不会做任何事情。
脚本中的变量是指定的,如果我回显它们,它们就会显示出来。此外,使用htmlentities()
将它们从任何有问题的字符中删除。
在PHP脚本中,我使用以下内容:
$sql=mysqli_query($con, "THEQUERY");
即使我把像"QUERY STUFF ".$var." QUERY STUFF "
这样的变量放在一起也不会改变任何东西......
完全出于想法,因为我在项目中不同时间使用相同类型的查询并始终有效!
答案 0 :(得分:-1)
尝试使用
$sql=mysqli_query($con, 'THEQUERY');
即将双引号替换为单引号(“to”)。因为如果使用“php将尝试解析和替换变量(以$开头)。