@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);

Помогите побороть.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 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";

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

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

Войти через TM ID
Похожие вопросы
SaveTime Москва
от 140 000 до 200 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.