0

我有以下插入语句,如果 PName 没有 (') 值,它可以正常工作,但是当文本包含 (') 时,查询将返回语法错误。知道如何解决这个问题吗?非常感谢。

$queryinsert = "INSERT INTO CART (CartPID, CartPName, CartPrice,CartCustID, CartDate) values ( $pid, '$PName', $PPrice, $CustID, (NOW()))";
4

1 回答 1

4

您需要先转义您的输入,然后再将其保存到数据库中。例如,使用mysql_real_escape_string

$PName = mysql_real_escape_string($PName);

$queryinsert = "INSERT INTO CART (CartPID, CartPName, CartPrice,CartCustID, CartDate) values ( $pid, '$PName', $PPrice, $CustID, (NOW()))";

这种情况会导致SQL 注入,你应该检查这个话题。首先要做的是转移到准备好的语句,这样可以避免 SQL 注入方面的麻烦。

于 2013-08-18T14:09:51.400 回答