我想在数据库中保存一张名为“ergasia”的图片名称。我已经创建了列名为name-surname-address-title_photo的表信息,我希望在此列中插入一个mysql查询图片的名称。图片保存在桌面上的文件夹中。这是我的查询:
mysql_connect('localhost', 'root' ,'ana');
$con=mysql_select_db('ergasia');
$surname=$_SESSION['surname'];
$name=$_SESSION['name'];
$query= "UPDATE information SET title_photo='$_FILES["file"]["name"]' WHERE name='$name' AND lastname='$surname' ";
if (!mysql_query($query)) {
die('Error: ' . mysql_error());
}
我收到以下错误:
解析错误:语法错误,意外''',期待标识符 (T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)in C:\ Users \ anastasia \ Desktop \ xampp2 \ htdocs \ ana \ forma \ save_file.php on 第20行
你对这个问题有什么看法吗?
提前致谢。
答案 0 :(得分:4)
你有引用问题,在mysql中执行它的正确方法是:
$query= sprintf("UPDATE information SET title_photo='%s'
WHERE name='%s' AND lastname='%s'",
mysql_real_escape_string($_FILES['file']['name']),
mysql_real_escape_string($name)));
mysql_real_escape_string($surname)));
...但它是一个弃用的API,如果可以,请升级到mysqli。
答案 1 :(得分:0)
使用以下命令更改查询行:
$query= "UPDATE information SET title_photo='".$_FILES["file"]["name"]."' WHERE name='$name' AND lastname='$surname' ";
^^ ^^
您必须将$_FILES["file"]["name"]
与查询字符串正确连接。
Mysql扩展名为officially deprecated as of PHP v5.5.0。使用Mysqli或PDO。
答案 2 :(得分:0)
PHP会看到你试图在"之后结束字符串。 ($_FILES["file
)。您必须concatenate(结束字符串,添加变量的字符串值,然后继续字符串)不同的值。上面的答案都可行,所以选择一个并投入一些时间来理解连接。特别是当您经常使用字符串(如SQL查询)时,您可能会多次使用这种方式。
答案 3 :(得分:-1)
问题在于字符串查询。更改如下。
$query= "UPDATE information SET title_photo='".$_FILES["file"]["name"]."' WHERE name='".$name."' AND lastname='".$surname ."'";