-1
我一直在使用PHP构建一个带有PHP & MySQL的系统。到目前为止,一切都很好,但现在当我从文本字段中保存数据时,它已经开始添加转义字符。例如,试图挽救该字符串mysqli_real_escape_string - 似乎已停止工作
这是很好的
保存为
它\好
我使用的插入查询
$query = "INSERT INTO jobs(customerId,
jobDateReceived,
jobReceivedBy,
jobPONo,
jobCompletionDate,
jobPrice,
jobIncExVat,
jobPriceEstimate,
jobZeroPrice,
jobDescription,
jobEngraving,
jobEngraveComplete,
jobLaser,
jobLaserComplete,
jobWood,
jobWoodComplete,
jobQualityControl)
VALUES('".$_SESSION['customerId']."', '"
.$_POST['recDateField']."', '"
.$_POST['recByField']."', '"
.$_POST['purchOrderField']."', '"
.$_POST['completionDateField']."', '"
.$_POST['priceField']."', '"
.$_POST['vatRadios']."', '"
.$estimateYN."', '"
.$zeroPriceYN."', '"
.mysqli_real_escape_string($link, $_POST['descriptionField'])."', '"
.$engravingYN."', 'N', '"
.$laserYN."', 'N', '"
.$woodYN."', 'N', 'I')";
任何人都可以帮助为什么这可能已停止工作?
你检查你的系统,以确保mysqli的PHP扩展是否正确装入? – Difster
您的脚本存在[SQL注入攻击]的风险(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) 即使[如果您正在转义输入,它不安全!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) 使用[编写的参数化语句](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly
如何停止使用转义并使用预处理语句? –