图像文件路径不是完全存储在Mysql数据库中,而是正确显示

时间:2015-08-12 10:52:50

标签: php html mysql

我正在开发学生成绩门户,在学生详细信息输入表格中我已插入照片上传按钮

<input type="file" name="image" id="stuImage" />

选择Image的路径,显示正确的路径并存储到PHP MySQL数据库中,使用&#34; ImagePath TYPE:TEXT(500)&#34;列。

C:\xampp\htdocs\office\school\img\pp_2.jpg

但是,查看数据库表,路径插入如下

C:xampphtdocsofficeschoolimgpp_3.jpg

这是毫无意义的。即使在进行了一些更改之后,例如将ImagePath COLUMN TYPE更改为VARCHAR(250),并上传了另一个图像路径,但仍然将路径插入为无意义(没有斜线)。

任何人都可以告诉我我遇到了什么错误并提出了一些答案。

提前致谢。

数据库输入查询:

INSERT INTO student (`StudentId`, `FatherName`, `StudentName`, `ImagePath`,  `DOB`, `Gender`, `Country`, `Barcode`, `GraduatedDate(9-10)`, `GraduatedDate(11-12)`) VALUES ($id, '$fname', '$name', '$imgPath', '$dob', '$gender', '$country', $barcode, '$grad910', '$grad1112')

4 个答案:

答案 0 :(得分:0)

好像你可能正在剥离插入的反斜杠,任何指向你的SQL查询的链接都会很有用

答案 1 :(得分:0)

将“\”替换为“\\”即可。

如果这不起作用,请在运行插入查询以在数据库中插入路径之前在php中尝试使用addslashes($ str),例如

$imgPath = addslashes($imgPath)

或直接在插入查询中

INSERT INTO student (`StudentId`, `FatherName`, `StudentName`, `ImagePath`,  `DOB`, `Gender`, `Country`, `Barcode`, `GraduatedDate(9-10)`, `GraduatedDate(11-12)`) VALUES ($id, '$fname', '$name', 'addslashes($imgPath)', '$dob', '$gender', '$country', $barcode, '$grad910', '$grad1112')

答案 2 :(得分:0)

\替换为\\,因为在sql查询\中会被解释。

答案 3 :(得分:0)

$image_name = basename($_FILES["image"]["name"]);//file name
$image_type = pathinfo($file_name ,PATHINFO_EXTENSION);// Extension

$server_path = 'school/img/';// server Path
$imgPath = $server_path.$image_name.$image_type;// Original image path

现在从表字段名称中插入工作正常并删除

src属性的前面视图中,不要忘记使用$_SERVER['DOCUMENT_ROOT']