字符串值包含insert语句中的(')。

时间:2013-08-18 14:07:53

标签: php

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

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

1 个答案:

答案 0 :(得分: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注入,您应该check this topic。首先要做的是转到准备好的语句,这样可以避免SQL注入预防带来的麻烦。