0

これは、挿入された行、画像パスの名前を持つフィールドを編集する正しい方法ですか。

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

私はこのためのphpよりもsql構文に関心があります。

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 に答える