Простая форма загрузки, не помещающая связанную информацию в таблицу SQL

0

Я выписал script, и, похоже, он отлично работает на моем тестовом сервере, но когда я пытаюсь использовать его на моем живом сервере, он не будет вставлять информацию sql в таблицу.

Здесь script:

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, если вы вызываете mysql_error () после запроса?
  • 0
    Вы получаете какие-либо ошибки вообще?
Теги:

1 ответ

0

Возможно, что по какой-то причине вы не можете вставлять данные в базу данных:

  • При подключении к БД вы указали неправильное имя пользователя и пароль;
  • У вашего пользователя нет привилегии 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']);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню