Как объединить два запроса MySQL INSERT в один?

Есть ли способ объединить два запроса INSERT в один запрос?

Спасибо

    mysql_query("INSERT into `new_table` (`hash`,`first_visit`, `country`, `browser`) values ('$hash',CURDATE(), '$details->geoplugin_countryCode','$_SERVER[HTTP_USER_AGENT]')");
mysql_query("INSERT into `behaviour` (`hash`,`page`,`url`,`entry`, `ref`) values ('$hash','$page','$url','$entry', '$ref')");

-2

Решение

Согласно документации «mysql_query () отправляет уникальный запрос (несколько запросов не поддерживаются) в текущую активную базу данных на сервере, который связан с указанным link_identifier». Так что нет, вы не можете объединить эти вставки.

Но вы могли бы использовать multi_query и сделать что-то вроде этого:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$hash  = "foo" ;
$page = "bar" ;
$url =  "baz" ;
$entry = "something"$ref  = "silly" ;// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO newtable (hash, first_visit, country, browser)
VALUES ('$hash',CURDATE(), '$details>geoplugin_countryCode','$_SERVER[HTTP_USER_AGENT]');";
$sql .= "INSERT INTO behaviour (hash, page, url, entry, ref)
VALUES ( $hash, $page, $url, $entry, $ref);";

if ($conn->multi_query($sql) === TRUE) {
echo "New records created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
1

Другие решения

mysql_query("INSERT into `new_table` (`hash`,`first_visit`, `country`, `browser`) values ('$hash',CURDATE(), '$details->geoplugin_countryCode','$_SERVER[HTTP_USER_AGENT]');
INSERT into `behaviour` (`hash`,`page`,`url`,`entry`, `ref`) values ('$hash','$page','$url','$entry', '$ref')
");

Просто добавь ; после заявления

Изменить: еще 2 запроса к БД, но отправить в 1 запрос

-3

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector