2015-07-22 4 views
-6

я получаю ошибкуMysql ошибка при отправке контактной формы

Предупреждения: mysqli_close() ожидает параметр ровно 1, 0, приведенный в /home1/ab61859/public_html/contact.php на линии 143 и

Предупреждение: не удается изменить информацию в заголовке - заголовки уже прислал (выход начался в /home1/ab61859/public_html/contact.php:143) в /home1/ab61859/public_html/contact.php на линии 144

Мои PHP-код здесь http://pastebin.com/4KVr7bg1

Я понятия не имею, что я сделал неправильно, поэтому, пожалуйста, не поможет мне спасибо, ItsMeRomian

+2

IT понятно: вы используете 'mysqli_close();' без парметера, должно быть ... поэтому проверьте doc mysqli_close(), чтобы узнать, чего он ожидает. см. http://stackoverflow.com/questions/24027546/warning-mysqli-close-expects-parameter-1-to-be-mysqli – Random

+0

RTFM: http://php.net/mysqli_close –

+0

Почему люди размещают ссылку? вместо того, чтобы просто размещать важные части? – PHPhil

ответ

0

В следующем коде (который по ссылке Pastebin выше):

foreach($form_data as $name=>$value) 
{ 
    mysqli_query($db, "UPDATE $mysql_table SET $name='".mysqli_real_escape_string($db, $value)."' WHERE ID=$id") or die('Failed to update table!<br>'.mysqli_error($db)); 
} 
mysqli_close(); 
header('Location: '.$success_url); 
exit; 

Вам нужно чтобы связать связь или ссылку, сгенерированную во время соединения в операторе mysqli_close(), чтобы он знал, какой из них закрыть (т.е. вы можете иметь более одного открытого одновременно). Если вы измените свой фрагмент, чтобы использовать следующую строку, ошибка закрытия должна исчезнуть.

mysqli_close($db); 

После того, как ошибка закрытия исчезнет, ​​проблемы с заголовком перенаправления на следующей строке могут работать. Я говорю, может, потому что, если у вас есть другой выход, прежде чем вы выпустите заголовок, он будет продолжать сбой. Заголовки могут использоваться только успешно, когда веб-страница не сгенерировала другой вывод без заголовка.

В качестве дополнительной заметки вы можете создать одну большую строку SQL вместо обновления базы данных для каждого возвращаемого поля. Тем не менее, это пища для еще одного изучения и/или будущего вопроса.

Смежные вопросы