如果我尝试将撒克逊属格中的某些内容插入数据库(例如,值“mike's”将不会被插入),我的 php 脚本将无法工作。 PHP 代码简单明了:
"INSERT INTO cache (id,name,LinkID,number,TChecked) VALUES(".$idUser.",'".$LinkName."',".$LinkID.",".$number.",NOW());"
一切正常,直到“$LinkaName”获得一些具有“特殊字符”的值。如何将“mike's”、“won't”等值存入 MySql 数据库?
最佳答案
您需要正确转义这些字符串。此外,您现在使用的技术会使您面临 SQL 注入(inject)攻击。
mysql_real_escape_string 的 PHP 文档给出了一个很好的例子来说明你应该做什么:
// Query
$query = sprintf("INSERT INTO cache (id,name,LinkID,number,TChecked) VALUES(%d,'%s',%d,%d,'%s');",
mysql_real_escape_string($idUser),
mysql_real_escape_string($LinkName),
mysql_real_escape_string($LinkID),
mysql_real_escape_string($number),
mysql_real_escape_string(NOW()));
关于php - mysql插入的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072498/