嵌入式PHP MySQL delete命令以字母和数字值分隔
我在PHP页面中运行了一个MySQL命令,该命令根据PHP参数删除记录。当EMPNAME是一个数字时,这非常有效。当该值包含一个字母和一个数字时,我得到以下错误:“where子句”中的未知列“RR1” 我试着用“for”来代替,这只会因为抛出语法错误而使问题变得更糟嵌入式PHP MySQL delete命令以字母和数字值分隔,php,mysql,Php,Mysql,我在PHP页面中运行了一个MySQL命令,该命令根据PHP参数删除记录。当EMPNAME是一个数字时,这非常有效。当该值包含一个字母和一个数字时,我得到以下错误:“where子句”中的未知列“RR1” 我试着用“for”来代替,这只会因为抛出语法错误而使问题变得更糟 $WA_deleteSql = "DELETE FROM `" . $WA_table . "` WHERE EmpNumber=" . $ParamID_WADAHTG_TechQual; 试试这个: $WA_deleteS
$WA_deleteSql = "DELETE FROM `" . $WA_table . "` WHERE EmpNumber=" . $ParamID_WADAHTG_TechQual;
试试这个:
$WA_deleteSql = "DELETE FROM `$WA_table` WHERE EmpNumber='$ParamID_WADAHTG_TechQual'";
我们不知道您的字段是什么类型,但对数字和字符串都使用单引号是安全的,而没有引号只能对数字起作用。只是澄清其他人没有做到的。如果您的字符串中有字母,它就不再是整数。整数不需要用引号括起来,但字符串可以。这就是为什么您需要如其他示例所示,添加单引号可以避免此错误:
$WA_deleteSql = "DELETE FROM `" . $WA_table . "` WHERE EmpNumber='$ParamID_WADAHTG_TechQual'";
编辑
为了进一步澄清,表中的字段类型没有任何区别。只要传入(或从中提取)的数据是数字,就可以很容易地省略varchar字段上的引号。
WHERE EmpNumber='“$ParamID_WADAHTG_TechQual.”代码>试一试。你能在“%paramId\u wadaht\u某物”之间加上单引号吗?这就是你否决我的原因吗?不管他的字段是什么类型,如果有字母,就不是整数。重要的是数据是如何传递的,也就是说,没有引用的oor。我没有否决你,你的帖子没有否决票,但是如果你不删除你的帖子,我会的。