CrazyKing
@CrazyKing

Ошбика: mysqli_query() expects parameter 1 to be mysqli, string given in, почему?

Пытаюсь записать данные в БД. Запрос следующий:
$host = "localhost";
$user = "sa";
$pass = "P@ssw0rd";
$db_name = "ck";

$link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой
global $link;

  // Ругаемся, если соединение установить не удалось
  if (!$link) {
    echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
    exit;
  }

//---------------Записываем в БД---------------
$phone = "123456789";
$name = "Garry";
$dt = date('Y-m-d H:i:s');
$link = "https://td.com/topic-$zam2";
$idtoken = 4;
$sql = "INSERT INTO `answer` (phone,name,dt,answer,grouplink,idtoken) VALUES ('$phone','$name','$dt','$query','$link','$idtoken')";
$addbd = mysqli_query($link, $sql);

echo mysqli_error();
if ($addbd == true){
    	echo "Информация занесена в базу данных";
    }else{
    	echo "Информация не занесена в базу данных";
    }

}


В итоге получаю ошибку:
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /var/www/pechenek.net/data/www/pechenek.net.example.com/vkbd.php on line 84

84 строка:
$addbd = mysqli_query($link, $sql);

Помогите побороть.
  • Вопрос задан
  • 10282 просмотра
Решения вопроса 3
0xD34F
@0xD34F
$link = mysqli_connect($host, $user, $pass, $db_name);

...

$link = "https://td.com/topic-$zam2";

Здесь как, всё окей?
Ответ написан
zoozag
@zoozag
Opencart
mysqli_query() expects parameter 1 to be mysqli

В ошибке же все написано.
Вы присваиваете:
$link = "https://td.com/topic-$zam2";
А потом используете:
$addbd = mysqli_query($link, $sql)
Ответ написан
Комментировать
@dimoff66
Кратко о себе: Я есть
Именно по той причине, которая описана. Передаваться в mysqli_query должна не строка, а объект mysqli

Сначала у вас идет строчка
$link = mysqli_connect($host, $user, $pass, $db_name);


а затем вы почему-то присваиваете переменной $link строку
$link = "https://td.com/topic-$zam2";

Сделайте две разные переменные для строки и ссылки на подключение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы