为了避免撕掉我的头发,我想我只是在这里提出这个问题,因为我对 PHP Mysql 更新感到很恼火:我经常使用的东西,我认为我理解了!
基本上,是否有任何已知会破坏 MySQL 更新功能的表头名称?我有一个运行良好的更新 mysql_query 函数,例如:
UPDATE table_name SET
part_number='000 - New Product',
product_code='1',
barcode_ref='1',
type='new type'
WHERE id='999'
但是,如果我在代码中包含名为“触发器”的表头,它会破坏它!
UPDATE table_name SET
part_number='000 - New Product',
trigger='YES',
product_code='1',
barcode_ref='1',
type='new type'
WHERE id='999'
上面的sql返回错误:**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
'trigger='YES', part_number='000 - New Product', product_code='1', barcod' at line 1**
我对名为“trigger”的列进行了相同的复制,并将其重新命名为“testing_t”,并且立即一切都像以前一样完美。我已经尝试将我的 mysql_real_escape_string 转储到变量以在 UPDATE 命令中使用并内联执行它们,甚至尝试对字符串进行硬编码,但它仍然会中断。
任何人都可以对此有所了解吗?理想情况下,我真的不想更改我的表头名称,因为我不想在整个站点上修改对它的引用。显然,如果没有其他选择,那么我会的,但我希望我只是愚蠢,并且有人可以解释它为什么会发生/如何阻止它发生!
提前致谢,
乔