0

这是编辑插入的行、具有图像路径名称的字段的正确方法吗?

$query = "UPDATE products SET image = $_FILES["file"]["name"] WHERE name = $name";

我更关心 sql 语法,然后是 php。

4

4 回答 4

1

您需要在字符串周围加上引号,并且您应该确保清理输入(或者更好的是,使用参数化 - 请参阅Bobby Tables)。

$filename = mysql_real_escape_string($_FILES['file']['name']);
$name = mysql_real_escape_string($name);

$query = "UPDATE products SET image = '{$filename}' WHERE name = '{$name}'";
于 2012-04-28T17:12:42.427 回答
0

您需要单引号,并且可能需要 mysql_real_escape_string

$query = "UPDATE products SET image = '".mysql_real_escape_string($_FILES["file"]["name"])."' WHERE name = '$name'";
于 2012-04-28T17:11:23.987 回答
0

注意报价

$query = "UPDATE products SET image ='". mysql_real_escape_string($_FILES["file"]["name"]) ."' WHERE name ='". $name."'";
于 2012-04-28T17:12:15.720 回答
0
$query = sprintf('UPDATE products SET image="%s" WHERE name="%s"',
    mysql_escape_string($_FILES["file"]["name"]),
    mysql_escape_string($name)
);
于 2012-04-28T17:13:07.223 回答