我有一个变量,我附加到SQL语句,但似乎有隐藏的字符导致错误。字符串中的隐藏字符破坏SQL语句(php,mysql)
我有$ addToInventory变量是一个数字(例如405,000)。 我正在尝试下面的代码片段,以摆脱字符,但当我回声我仍然看到\ 0 \ 0 \ 0 \ 0(空)后的数字。
$addToInventory= str_replace(",", "", $pieces[1]);
$addToInventory= str_replace("\r", "", $addToInventory);
$addToInventory= str_replace("\n", "",$addToInventory);
$addToInventory = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', mysql_real_escape_string($addToInventory));
$sql_query = "UPDATE products set products_quantity = " .$addToInventory." where products_model like '$code'";
呼应$ sql_query生产:
UPDATE products set products_quantity = 405000\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 where products_model like '111'.
什么特别的错误? –
sql语句不运行。在浏览器中查看SQL时,它最初看起来是正确的,但由于实际的PHP字符串包含NUL字符,所以它会失败。从浏览器中生成的HTML中复制和粘贴SQL语句可以正常工作。 –
mysql会抛出什么特别的错误? –