2013-09-07 4 views
-1

Попытка представить значения формы в базу данных MySQL. Однако я получаю сообщение об ошибке:Преобразование массива в строку

Массив для преобразования строки в строке 45.

Единственный массив у меня есть, $error массив, который улавливает из пустых полей.

if(isset($_POST['submitted'])){ 

    $errors = array(); // Initialize erroy array. 

    // Check for title. 
    if (empty($_POST['movie_name'])){ 
     $errors[] = "You forgot to enter a title."; 
    } else { 
     $mn = (trim($_POST['movie_name'])); 
    } 

    if (empty($_POST['leading_actor'])){ 
     $errors[] = "You forgot to enter the leading actor."; 
    } else { 
     $la = (trim($_POST['leading_actor'])); 
    } 

    if (empty($_POST['rating'])){ 
     $errors[] = "Please select a rating."; 
    } else { 
     $rating = ($_POST['rating']); 
    } 

    if (empty($_POST['review'])){ 
     $errors[] = "Please write a review"; 
    } else { 
     $review = (trim($_POST['review'])); 
    } 


    if (empty($errors)) { // If no errors were found. 

     //require_once('./includes/Mysql_connect.php'); 

     // Make the insert query. 

     $query = "INSERT INTO film (movie_title, actor, fk_movie_ratings) 
    **This is line 45** Values ('$mn', '$la', '$rating')"; 

     $result = mysql_query($query); 


     //Report errors. 
    } else { 
     foreach ($errors as $msg){ 
      echo " - $msg <br/> "; 
     } 
    } 
} 
+0

Это уведомление приходит, когда вы обрабатываете массив как строку. Можете ли вы показать нам, что есть в строке 45 –

+0

Это уведомление, а не ошибка. –

ответ

1

Единственный способ, которым я думаю, что это возможно, когда у вас есть HTML-форму, как это:

<input type="text" name="rating[]"> 

Из-за «[]», PHP будет создать массив, который будет храниться в $ _POST [ 'оценка']. Но я думаю, что это не то, что вы делаете :)

Кстати, избегайте ввода POST/GET непосредственно в ваш запрос MySQL. Вместо этого используйте подготовленные инструкции, потому что иначе вы рискуете инъекциями SQL.