2011-01-13 3 views
0

スクリプトを書きましたが、テストサーバーでうまく動作しているようですが、ライブサーバーで使用しようとすると、SQL情報テーブルに入れます。ここで単純なアップロードフォームがSQLテーブルに関連情報を入れない

スクリプト:

mysql_connect("$host", "$username", "$password")or die("cannot connect server "); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$title=$_POST['title2']; 
$description=$_POST['description']; 
$uploaded = $_POST['uploaded']; 
$target = "../../projects/forms/"; 
$target = $target . basename($_FILES['uploaded']['name']) ; 
$ok=1; 
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{ 
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
} 
else { 
echo "Sorry, there was a problem uploading your file."; 
} 

$result=MYSQL_QUERY("INSERT INTO $tbl_name(title, description, target) ". "VALUES ('$title', '$description', '$target')"); 
    $id= mysql_insert_id(); 
    print "File ID: <b>$id</b>"; 
    print "Title: <b>$title</b>"; 
    print "Description: <b>$description</b>"; 
    print "File Name:</b>$target"; 
    print "To upload another file Click Here<br>"; 
+1

クエリの後にmysql_error()を呼び出すと、mysqlからどのようなエラーが報告されますか? – Ass3mbler

+0

何かエラーが出ますか? – amosrivera

答えて

0

それが何らかの理由でデータベースにデータを挿入することができないことを、可能です:あなたは間違ったユーザー名とパスワードを提供

  1. 、DBへの接続時に、
  2. ユーザーにはINSERT権限がありません。

など複数の可能性があります。

クエリーの後にmysql_error()を呼び出すことで、何が問題なのかをはっきりと確認できます。

$result=MYSQL_QUERY("INSERT INTO $tbl_name(title, description, target) ". "VALUES ('$title', '$description', '$target')"); 
if (!$result){ 
    echo mysql_error(); 
} 

これは本当に問題とは何の関係もありませんが、あなたは常にあなたがクエリにそれを置く前に、GETとPOSTを介して取得データをエスケープする必要があります!それ以外の場合は、アプリケーションに大きな光沢のあるセキュリティホールを作っています。

$title=mysql_real_escape_string($_POST['title2']); 
$description=mysql_real_escape_string($_POST['description']); 
$uploaded = mysql_real_escape_string($_POST['uploaded']); 
関連する問題