-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
如何停止使用轉義並使用預處理語句? –