首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在上载文件,但值不会反映在数据库中

正在上载文件,但值不会反映在数据库中
EN

Stack Overflow用户
提问于 2017-01-03 16:46:28
回答 3查看 48关注 0票数 0
代码语言:javascript
复制
<!doctype html>
<?php
mysql_connect("127.0.0.1","root@localhost","");
mysql_select_db("reco");

if(isset($_POST['submit'])) {
    $soundcard_title = $_FILES['file']['name'];
    $upload_tmp = $_FILES['file']['tmp_name'];
    $upload_type = $_FILES['file']['type'];

    $upload_name = preg_replace("#^a-z0-9.#i","", $soundcard_title);

    if(!$soundcard_title) {
        echo "No file selected";
    } else{
        move_uploaded_file( $upload_tmp, "soundcards/".$soundcard_title);
        echo "<br />".$soundcard_title." has been uploaded";
    }

    $path= "http://127.0.0.1/upload-playback/soundcards/$soundcard_title";
    $query = "INSERT INTO 'soundcards' VALUE('','','$soundcard_title','$path','','','')";
    $query1 = mysql_query($query);
}
?>
<html>
    <head>
        <meta charset="utf-8">
        <title>Upload screen</title>
    </head>
    <body>
        <form enctype="multipart/form-data" action="upload_screen.php" method="post">
            Browse:<br>
            <input name="file" type="file" size="80"> <br>
            <input type="submit" name="submit" id="upload_btn" value="Upload">
        </form>
    </body>
</html>

我想创建一个简单的上传播放在php使用mysql数据库。为此,我使用xampp创建apache服务器。现在我可以上传文件到指定的文件夹,但mysql数据库没有更新与上传的文件相关联的条目。因为它,我不能播放文件稍后。

我的数据库模式:

代码语言:javascript
复制
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Jan 03, 2017 at 08:49 AM
-- Server version: 10.1.13-MariaDB
-- PHP Version: 5.6.23

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `reco`
--

-- --------------------------------------------------------

--
-- Table structure for table `soundcards`
--

CREATE TABLE `soundcards` (
  `s_id` int(10) NOT NULL,
  `u_id` int(11) NOT NULL,
  `soundcard_title` varchar(20) NOT NULL,
  `path` varchar(100) NOT NULL,
  `date-time` varchar(20) NOT NULL,
  `no_plays` int(11) NOT NULL,
  `no_reco` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE `user` (
  `u_id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `username` varchar(20) NOT NULL,
  `email` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `soundcards`
--
ALTER TABLE `soundcards`
  ADD PRIMARY KEY (`s_id`);

--
-- Indexes for table `user`
--
ALTER TABLE `user`
  ADD PRIMARY KEY (`u_id`),
  ADD UNIQUE KEY `username` (`username`),
  ADD UNIQUE KEY `email` (`email`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `soundcards`
--
ALTER TABLE `soundcards`
  MODIFY `s_id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
  MODIFY `u_id` int(11) NOT NULL AUTO_INCREMENT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
EN

回答 3

Stack Overflow用户

发布于 2017-01-03 17:00:10

我认为你的sql写错了格式,插入的格式应该是这样的

代码语言:javascript
复制
INSERT INTO TABLE_NAME (column1,column2,column3,...columnN)
VALUES (value1,value2,value3,...valueN);
票数 0
EN

Stack Overflow用户

发布于 2017-01-03 17:11:08

代码语言:javascript
复制
<!doctype html>
<?php
    mysql_connect("127.0.0.1","root@localhost","");
    mysql_select_db("reco");

    if(isset($_POST['submit'])){
        $soundcard_title = $_FILES['file']['name'];
        $upload_tmp = $_FILES['file']['tmp_name'];
        $upload_type = $_FILES['file']['type'];

        $upload_name = preg_replace("#^a-z0-9.#i","", $soundcard_title);

        if(!$soundcard_title){
            echo "No file selected";
        }
        else{
            move_uploaded_file( $upload_tmp, "soundcards/".$soundcard_title);
                echo "<br />".$soundcard_title." has been uploaded";
        }

        $path= "http://127.0.0.1/upload-playback/soundcards/$soundcard_title";
        $query = "INSERT INTO 'soundcards'  VALUES('','$soundcard_title','$path','','','')";
        $query1 = mysql_query($query);
    }
?>
<html>
<head>
<meta charset="utf-8">
<title>Upload screen</title>
</head>

<body>
<form enctype="multipart/form-data" action="upload_screen.php" method="post">
    Browse:<br>
    <input name="file" type="file" size="80"> <br>
    <input type="submit" name="submit" id="upload_btn" value="Upload">
</form>

</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2017-01-03 17:24:51

您的插入查询中存在以下错误:

代码语言:javascript
复制
$path= "http://127.0.0.1/upload-playback/soundcards/$soundcard_title";
$query = "INSERT INTO 'soundcards' VALUE('','','$soundcard_title','$path','','','')";
$query1 = mysql_query($query);

解决方案:

代码语言:javascript
复制
$query = "INSERT INTO 'soundcards' **VALUES**('','','$soundcard_title','$path','','','')";
$query1 = mysql_query($query) or die('Error is='.mysql_error());

您使用了值而不是值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41439556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档