我正在开发学生成绩门户,在学生详细信息输入表格中我已插入照片上传按钮
<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')
答案 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']