Помогите найти ошибку в коде пожалуйста. Сам ищу и никак найти не могу, в интернете тоже ничего не нашел по данной ошибке.
Выдает ошибку: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\OSPanel\domains\geekbrain.ru\index.php on line 12
Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\OSPanel\domains\geekbrain.ru\index.php on line 12
Код:
<?
$link = mysqli_connect('localhost','mysql', 'mysql', 'gb') or die (mysqli_error($link));
$page = $_GET['p'];
if ($page = 2) {
$name = $_POST ['name'];
$link = $_POST ['link'];
$info = $_POST ['info'];
$sql = "INSERT INTO news ( name, link, info) VALUES ( '$name', '$link', '$info')";
$res = mysqli_query($link, $sql) or die (mysqli_error($link));
}
?>
<html>
<head>
<title>Блог</title>
<meta charset="utf-t">
</head>
<body>
<ul>
<li><a href="?p=1">Главная</a></li>
<li><a href="?p=2">Добавить</a></li>
</ul>
<?
switch($page) {
case 2:
var_dump($_POST);
echo<<<text
<form method="post">
<input name= "name" placeholder="Название"><br>
<input name= "link" placeholder="Ссылка"><br>
<textarea name= "info" placeholder=""></textarea><br>
<input type='submit'>
</form>
text;
break;
default:
$res = mysqli_query($link, 'SELECT * FROM news') or die (mysqli_error($link));
while($row = mysqli_fetch_assoc($res)) {
echo<<<text
<h2>{$row['name']}</h2>
<iframe width="560" height="315" src="https://www.youtube.com/embed/{$row['link']}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
text;
}
break;
}
?>
</body>
</html>
По моему ошибка в переменной $link, потому возвращает null и поэтому в 12 строке ошибка. Проверь подключение в $link
Попробуй добавь проверку для форму добавления, на заполнение каждого поля
if($_POST['name'] && $_POST['link'] && $_POST['info'])
{
$name = $_POST ['name'];
$link = $_POST ['link'];
$info = $_POST ['info'];
$sql = "INSERT INTO news ( name, link, info) VALUES ( '$name', '$link', '$info')";
$res = mysqli_query($link, $sql) or die (mysqli_error($link));
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей