PHP и MYSQLI, функция mysqli_multi_query - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь использовать функцию mysqli_multi_query, но она не работает.Я думаю, что эхо даст мне ошибку, чтобы напечатать значение $ res, но это выдает мне «1».И поэтому fetch_array не работает, потому что в первом параметре он не принимает число 1.

$sql =" start transaction;";
$sql .="insert into account (user_id, username, activation_date, passw) 
values ('$id','$username',CURDATE(),'$password');";
$sql .="insert into users (user_id,name,surname,birth,email,photo) values 
('$id','$name', '$surname','$birth','$mail','$foto');";
$sql .="commit work;";


$res=mysqli_multi_query($connessione, $sql);
echo( $res);
if($res != FALSE)   {   
$row=mysqli_fetch_array($res,MYSQLI_ASSOC); 
echo mysqli_error($connessione);
   return $row;
} else {
print_r(mysqli_error_list($connessione));
echo "<br>";
    mysqli_close($connessione);
   return false;
}

PS В MySQL WorkBench значения запроса добавляются в мои таблицы.Поэтому я думаю, что запрос работает.

Что бы это могло быть?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

@ MrCaptainAlex вы пытаетесь напечатать набор результатов (т. Е. Данные, взятые ОТ) оператора SQL INSERT.Это нелогично.Как сказано в комментариях более умных людей;Ваш запрос возвращает true (1) или false (0), если запрос выполнен успешно.Он НЕ возвращает любой ресурс или data .

Ваш код SQL / PHP - это код, который будет работать с заданнымданные, собранные из базы данных - SELECT... FROM, а не INSERT .... INTO.

Вы обрабатываете свой запрос $res, как будто он только что получил много данных из базы данных.но он только поместил данные в базу данных, но не извлек какие-либо данные OUT OF базу данных.Попробуйте вместо этого выполнить запрос SELECT ..., чтобы получить данные из базы данных.

0 голосов
/ 28 мая 2018

вы используете "эхо", но оно должно быть print_r($var) для массива.

Можете ли вы использовать:

print_r($res);

, чтобы показать нам, что у вас есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...