У меня проблема с php. Следующий код генерирует ошибку «PHP Warning: mysqli_close() ожидает параметр 1, чтобы быть MySQLi, нуль дано [...]» на строке, содержащей mysqli_queryОбласть переменной в PHP
<html>
<head>
<?php
$table = "prjsuggestions";
/$mysqli = NULL;
if(!empty($_POST['posttext'])){
$pnameempty = empty($_POST['postname']);
$ynameempty = empty($_POST['name']);
if($pnameempty || $ynameempty){
}
else{
$mysqli = new mysqli("localhost", "progclub", "", "progclub");
if(mysqli_connect_errno()){
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//successful query normally occurs here but code fails w/ or /wo it.
}
}
else{
printf("No information posted.");
}
?>
<title>Bucknell Programming Club</title>
</head>
<body>
<span id="posts">
<?php
$offset = 0;
$query = "SELECT * FROM {$table}";
$result = mysqli_query($mysqli, $query);
if($result !== FALSE){
//while(($post = mysqli_fetch_assoc($result)) !== NULL){
echo mysqli_num_rows($result);
$post = mysqli_fetch_assoc($result);
$author = $post['name'];
printf("Author: %s\n", $author);
echo "<br />";
printf("Post title: %s\n", $post['title']);
echo "<br />";
printf("%s\n", $post['text']);
echo "<hr />";
//}
}
else printf("oh nooo!");
mysqli_free_result($result);
mysqli_close($mysqli);
?>
</span>
</body>
</html>
Обратите внимание, что все запросы были проверены и корректно работают в phpmy и что исходный код содержит более ранний запрос, который добавляет данные в базу, что также определенно работает.
Я пробовал различные комбинации статических и глобальных, и я подробно рассмотрел страницу PHP в области переменных, увы, я не совсем понимаю ее в этом контексте (например, учитывая мою неспособность заставить мой код работать) , Может ли кто-нибудь просветить меня в отношении разных областей? Я не думал, что должно быть!
4 пробела перед строкой = форматирование кода. Выберите и коснитесь 'ctr-k', чтобы сделать это. –
Ваша сфера выглядит нормально, но это невозможно сказать, поскольку вы предоставляете неверный и неполный PHP. Покажите некоторый код, который, по крайней мере, работает достаточно, чтобы произвести ошибку. –
Я использую другую переменную и * они * все остаются в области просто отлично! Если это помогает фактической процедуре подключения внутри оператора if, но я чувствую, что это всего лишь призрак мысли C, который преследует мой анализ фактической проблемы. – conartist6