-2

プロセスをパスにアップロードするときに画像ファイルをアップロードするために次のコードを使用していますが、ファイルパスをデータベーステーブルフィールドに挿入するとエラーが発生します

アップローダー.php

<?php
$db = mysql_connect('localhost', 'root', '') or die('Could not connect:' . mysql_error());
mysql_select_db('fileupload4',$db);
$allowed_filetypes = array('.jpg','.gif','.bmp','.png');
$max_filesize = 10000000;
$upload_path = 'images/'; 
$filename = $_FILES['userfile']['name'];
$extension = substr($filename, strpos($filename,'.'), strlen($filename)-1);
if(!in_array($extension , $allowed_filetypes)) {
    die('The file you attempted to upload is not allowed.');
}
if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) {
    die('The file you attempted to upload is too large.');
}
if(!is_writable($upload_path)) {
   die('You cannot upload to the specified directory, please CHMOD it to 777.');
}
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_path.$filename)) {
    echo 'Your file upload was successful, view the file <a href="'.$upload_path.$filename.'" title="Your File">Here</a>';
} else {
    echo 'There was an error during the file upload.  Please try again.'; // It failed
}
$sql = "UPDATE students SET image = '".$upload_path."' WHERE id = 'student_id'";
mysql_query($sql) OR die(mysql_error());
?>

これは、画像をアップロードするときにエラーが発生するものです

Unknown column 'id' in 'where clause'

助けてくれてありがとう...

私のテーブル構造

CREATE TABLE IF NOT EXISTS `students` (
  `student_id` int(11) NOT NULL AUTO_INCREMENT,
  `image` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  PRIMARY KEY (`student_id`),
  KEY `student_id` (`student_id`),
  KEY `image` (`image`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
4

3 に答える 3

1

あなたがここに投稿したクエリのようidに、@saratisがあなたに言ったように、列を使用していないようです(以前のコメントですでに言ったように)ので、クエリは

UPDATE students SET image = '".$upload_path."' WHERE student_id= 'pass your id here';
于 2012-11-20T18:32:42.100 に答える
1

MYSQL テーブル構造を確認してください。明らかに列idが存在しません。

多分あなたのSQLテーブルを投稿してください。

于 2012-11-20T18:19:21.150 に答える
0

ラインのようです

$sql = "UPDATE students SET image = '".$upload_path."' WHERE id = 'student_id'";

に変更する必要があります

$sql = "UPDATE students SET image = '".$upload_path."' WHERE student_id = 'student_id'";

id という名前の列はありませんが、student_id という名前の列があるためです

于 2012-11-20T18:32:30.813 に答える