redaktorbs
12.06.2016, 18:19:15
Mam taką sytuację, że chciałbym wykonać w jednym rzucie wiele kwerend. To działa w edytorze MySQL - kilka kwerend rozdzielonych średnikami bardzo pięknie się wykonuje, jednak jak je wysyłam z poziomu PHP to one się nie wykonują. Jestem początkujący, więc nie wiem, czy coś robię źle, czy też po prostu się nie da.
Kod mam taki:
CODE
function connection($PolecenieSQL) {
$mysql_server = "xxxx";
$mysql_admin = "xxxx";
$mysql_pass = "xxxx";
$mysql_db = "xxxx";
$link = mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
or die('Brak połączenia z serwerem MySQL.');
mysql_select_db($mysql_db)
or die('Błąd wyboru bazy danych.');
if (!$PolecenieSQL=='') {
Return mysql_query($PolecenieSQL);
}
}
Czy wrzucenie w $PolecenieSQL wielu kwerend oddzielonych średnikami jest zakazane?
viking
12.06.2016, 19:00:56
Zgodnie z dokumentacją którą pewnie czytałeś

jest wysyłane jedno unikatowe zapytanie.
Co więcej, mysql_query nie jest już wspierane. Masz używać rozszerzenia mysqli albo pdo.
LowiczakPL
12.06.2016, 20:00:15
Po średnikach w edytorze działa ale zapytania są rozbijane na pojedyncze zapytania, średnik to kolejne zapytanie.
W PHP grupujesz INSERT rozdzielając kolejne grupy danych przecinkami
zapytanie musi wyglądać w stylu
INSERT INTO `Kategorie` (`id`, `parent`, `slag`, `nazwa`, `ilosc`) VALUES (1, 0, 'psy', 'Psy', 6),
(2, 0, 'koty', 'Koty', 8),
(3, 0, 'akwarystyka', 'Akwarystyka', 1),
(4, 1, 'transport', 'Transport', 0);
jest to 1 zapytanie robiące na raz 4 inserty
PS. UPDATE grupowy robi się za pomocą CASE
redaktorbs
12.06.2016, 21:33:55
Dziękuję.
Mam jeszcze dużo do poczytania w takim razie.