我有一個變量,我附加到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會拋出什麼特別的錯誤? –