Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌入式PHP MySQL delete命令以字母和数字值分隔_Php_Mysql - Fatal编程技术网

嵌入式PHP MySQL delete命令以字母和数字值分隔

嵌入式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

我在PHP页面中运行了一个MySQL命令,该命令根据PHP参数删除记录。当EMPNAME是一个数字时,这非常有效。当该值包含一个字母和一个数字时,我得到以下错误:“where子句”中的未知列“RR1”

我试着用“for”来代替,这只会因为抛出语法错误而使问题变得更糟

  $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。我没有否决你,你的帖子没有否决票,但是如果你不删除你的帖子,我会的。