我最近在尝试文件上传和sql,我有这个小问题。当我试图插入这个字符串到sql, sql插入不同的值。这是我要插入的文本
C:'xampp'tmp'phpCD2.tmp
,这里是插入mysql
的文本C:xampp mpphpCD2.tmp
所以从我看到的php/mysql删除所有的''',并将''t'转换为制表符或空格。我知道如果我改变目录,它会被修复,但是如果我有一些以"t"开头的文件,它会被删除,那么我怎么能解决这个问题呢?谢谢。
代码如下:
foreach ($files['name'] as $position => $file_name)
{
$name = $files['name'][$position];
$tempName = $files['tmp_name'][$position];
$type = $files['type'][$position];
$size = $files['size'][$position];
echo $tempName, '<br>';
$insert = "INSERT INTO " . $table . " (id, name, tempName, type, size)
VALUES ('', '$name', '$tempName', '$type', '$size') ";
mysql_query($insert);
}
必须转义字符串。
$tempName = mysql_escape_string($files['tmp_name'][$position]);