2017-01-03 54 views
0
<!doctype html> 
<?php 
mysql_connect("127.0.0.1","[email protected]",""); 
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数据库不会更新与上传文件关联的条目。以此为借口我以后无法播放文件。文件上传,但价值观不反映在数据库

我的数据库模式:

-- 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 @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@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 [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 

回答

0

我觉得你的SQL被写在错误的格式插入格式应该像

INSERT INTO TABLE_NAME (column1,column2,column3,...columnN) 
VALUES (value1,value2,value3,...valueN); 
0
<!doctype html> 
<?php 
    mysql_connect("127.0.0.1","[email protected]",""); 
    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

错误是在你这里插入查询:

$path= "http://127.0.0.1/upload-playback/soundcards/$soundcard_title"; 
$query = "INSERT INTO 'soundcards' VALUE('','','$soundcard_title','$path','','','')"; 
$query1 = mysql_query($query); 

解决方案:

$query = "INSERT INTO 'soundcards' **VALUES**('','','$soundcard_title','$path','','','')"; 
$query1 = mysql_query($query) or die('Error is='.mysql_error()); 

您已经使用值,而不是值。