Php mysql несколько таблиц

Как подключить несколько таблиц одной базы (MySql) в один файл .php и выводить данные из них? Одну таблицу вывожу так:

Как выводить информацию из разных таблиц Mysql на одну страницу (php), в список
Необходимо, чтоб к одному значению в базе данных прикреплялись значения из других таблиц. Например.

Не добавляет данные в несколько таблиц одной базы данных phpmyadmin
Народ, помогите, не могу разобраться, таблицы связанны по ID <? ini_set(‘error_reporting’.

Как выводить данные по условию из базы данных mysql
Из базы данных запросы выводятся в таблицу,как выводить по условию только если >0;т.е если Пример.

Все данные таблиц одной базы необходимо добавить в таблицы такой же базы.
В FoxPro я могу обойтись двумя операторами на на каждую таблицу: use А append from В и все.

zipplkill, на каждую таблицу пишите свою функцию или объедините несколько таблиц в один запрос. если эти таблицы связаны.

Добавлено через 1 минуту

ЦитатаСообщение от zipplkill Посмотреть сообщение

Я пытался сделать вторую функцию, но у меня на второе подключение «сайт ругался». К сожалению у меня нет времени на изучение этого, по этому приходятся все на ходу делать.

ЦитатаСообщение от zipplkill Посмотреть сообщение

Свои попытки я не сохранил, а вот ругался на файл выбора таблицы(на вторую таблицу которую я пытался подключить).

1 2 3 4 5 6 7 8 9 10 11 12
function getGoods ($limit, $id) { connectDB(); $sqlGoods = $mysqli->query("SELECT * FROM `goods` WHERE `id`='".$id."' ORDER BY DESC LIMIT ".$limit); closeDB(); $arrGoods = array(); while ($rowGoods = $sqlGoods->fetch_assoc()) { $arrGoods[] = $rowGoods; } return $arrGoods; }

Лучший ответ

Сообщение было отмечено zipplkill как решение

Решение

ЦитатаСообщение от zipplkill Посмотреть сообщение

Как правильно построить ИНЕР, где данные в одну таблицу берутся из одной таблицы?
SELECT ROW_NUMBER() over (ORDER BY . ASC) , Единица1, Валюта., Единица2, Валюта. FROM INNER JOIN.

Необходимо написать процедуру, которая будет выводить данные из одной из таблиц
1. Необходимо написать процедуру, которая будет выводить данные из одной из таблиц. 2. Необходимо.

Добавить данные в несколько таблиц за одну транзакцию
Доброго времени суток! Подскажите, возможно ли одним запросом добавить в 2 и более таблиц данные .

Как сделать так чтобы данные в графике брались из базы данных MySQL?
Есть скрипт в виде графика на js. Как сделать так чтобы данные в графике брались из базы данных.

Перенести данные с одинаковых таблиц в одну таблицу
Здравствуйте возникла такая проблема мне нужно вывести с трех листов в итоговый лист все данные.

Как из MySQL базы (phpmyadmin) сохранить данные в excel посредством php?
Возможно, чтобы юзер через веб-форму, которую сам и заполнил, имел возможность выгружать данные из.

Источник

Как создать несколько таблиц MySQL через PHP, используя один запрос?

Я пытаюсь создать «скрипт установки» для своего сайта. Я хотел бы создать базу данных, добавляя таблицы и некоторый контент одновременно. Пока это то, как я это сделал, но это выглядит немного грязно, используя несколько запросов:

connect_error) < die("Connection failed: " . $conn->connect_error); > // Create database $sql = "CREATE DATABASE MYDB"; if ($conn->query($sql) === TRUE) < echo "1. Database created successfully 
"; $conn->select_db("MYDB");$sql_members = "CREATE TABLE MEMBERS ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, USERNAME VARCHAR(30) NOT NULL, EMAIL VARCHAR(40) NOT NULL, DISCOUNT VARCHAR(5), PASSW CHAR(128), ROLE VARCHAR(9) )";if ($conn->query($sql_members) === TRUE) < echo "2. Table MEMBERS created successfully
"; > else < echo "Error creating table: " . $conn->error; > $sql_content = "CREATE TABLE CONTENT ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, TITLE VARCHAR(30) NOT NULL, TEXT VARCHAR(30) NOT NULL )"; if ($conn->query($sql_content) === TRUE) < echo "3. Table CONTENT created successfully
"; > else < echo "Error creating table: " . $conn->error; >> else < echo "Error creating database: " . $conn->error; > $conn->close();?>

Есть ли способ лучше?
Спасибо!

Я попытался экспортировать базу данных и использовать полученный файл .sql в качестве моего запроса установки, но что-то не так, я получаю:

Ошибка при создании таблиц: у вас ошибка в синтаксисе SQL; проверить
руководство, которое соответствует вашей версии сервера MySQL для права
синтаксис для использования рядом с INSERT INTO CONTACTS ( ID , NAME , PHONE ,
EMAIL , ADDRESS , CITY , «COUN» в строке 12

CREATE TABLE IF NOT EXISTS `CONTACTS` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `NAME` varchar(25) COLLATE utf8_romanian_ci NOT NULL, `PHONE` varchar(16) COLLATE utf8_romanian_ci NOT NULL, `EMAIL` varchar(35) COLLATE utf8_romanian_ci NOT NULL, `ADDRESS` text COLLATE utf8_romanian_ci NOT NULL, `CITY` varchar(16) COLLATE utf8_romanian_ci NOT NULL, `COUNTRY` varchar(16) COLLATE utf8_romanian_ci NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_romanian_ci AUTO_INCREMENT=2 ; INSERT INTO `CONTACTS` (`ID`, `NAME`, `PHONE`, `EMAIL`, `ADDRESS`, `CITY`, `COUNTRY`) VALUES (1, 'Peter Brown', '0742062307', 'office@shop.com', 'Avenue 13.', 'Santaclaus', 'Austria'); 

Мне нужно «multi_query ()» для выполнения моих нескольких запросов.

Решение

Вы можете попробовать это тоже: p

$errors = []; $table1 = "CREATE TABLE MEMBERS ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, USERNAME VARCHAR(30) NOT NULL, EMAIL VARCHAR(40) NOT NULL, DISCOUNT VARCHAR(5), PASSW CHAR(128), ROLE VARCHAR(9) )"; $table2 = "CREATE TABLE CONTENT ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, TITLE VARCHAR(30) NOT NULL, TEXT VARCHAR(30) NOT NULL )";$tables = [$table1, $table2];foreach($tables as $k => $sql)< $query = @$conn->query($sql); if(!$query) $errors[] = "Table $k : Creation failed ($conn->error)"; else $errors[] = "Table $k : Creation done"; >foreach($errors as $msg) < echo "$msg 
"; >

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

Вы могли бы экспортировать всю базу данных, включая все таблицы используя командную строку или используя PhpMyAdmin . Затем запросите содержимое файла в php, чтобы создать базу данных.

Вы можете создать файл и поместить в него все свои sql запросы.

CREATE TABLE MEMBERS ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, USERNAME VARCHAR(30) NOT NULL, EMAIL VARCHAR(40) NOT NULL, DISCOUNT VARCHAR(5), PASSW CHAR(128), ROLE VARCHAR(9) ); CREATE TABLE CONTENT ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, TITLE VARCHAR(30) NOT NULL, TEXT VARCHAR(30) NOT NULL ); 
$query = file_get_contents ('queries.sql'); if ($conn->query($query) === TRUE) < echo "all tables created successfully 
"; > else < echo "Error creating tables: " . $conn->error; >

Источник

Как создать несколько таблиц MySQL через PHP, используя один запрос?

Я пытаюсь создать «скрипт установки» для своего сайта. Я хотел бы создать базу данных, добавляя таблицы и некоторый контент одновременно. Пока это то, как я это сделал, но это выглядит немного грязно, используя несколько запросов:

connect_error) < die("Connection failed: " . $conn->connect_error); > // Create database $sql = "CREATE DATABASE MYDB"; if ($conn->query($sql) === TRUE) < echo "1. Database created successfully 
"; $conn->select_db("MYDB"); $sql_members = "CREATE TABLE MEMBERS ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, USERNAME VARCHAR(30) NOT NULL, EMAIL VARCHAR(40) NOT NULL, DISCOUNT VARCHAR(5), PASSW CHAR(128), ROLE VARCHAR(9) )"; if ($conn->query($sql_members) === TRUE) < echo "2. Table MEMBERS created successfully
"; > else < echo "Error creating table: " . $conn->error; > $sql_content = "CREATE TABLE CONTENT ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, TITLE VARCHAR(30) NOT NULL, TEXT VARCHAR(30) NOT NULL )"; if ($conn->query($sql_content) === TRUE) < echo "3. Table CONTENT created successfully
"; > else < echo "Error creating table: " . $conn->error; > > else < echo "Error creating database: " . $conn->error; > $conn->close(); ?>

Есть ли способ лучше? Спасибо! == ОБНОВЛЕНИЕ == Я попытался экспортировать базу данных и использовать полученный файл .sql в качестве моего запроса установки, но что-то не так, я получаю:

Ошибка при создании таблиц: у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с «ВСТАВИТЬ В CONTACTS ( ID , NAME , PHONE , EMAIL , ADDRESS , CITY ,» COUN «в строке 12

CREATE TABLE IF NOT EXISTS 'CONTACTS' ( 'ID' int(11) NOT NULL AUTO_INCREMENT, 'NAME' varchar(25) COLLATE utf8_romanian_ci NOT NULL, 'PHONE' varchar(16) COLLATE utf8_romanian_ci NOT NULL, 'EMAIL' varchar(35) COLLATE utf8_romanian_ci NOT NULL, 'ADDRESS' text COLLATE utf8_romanian_ci NOT NULL, 'CITY' varchar(16) COLLATE utf8_romanian_ci NOT NULL, 'COUNTRY' varchar(16) COLLATE utf8_romanian_ci NOT NULL, PRIMARY KEY ('ID') ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_romanian_ci AUTO_INCREMENT=2 ; INSERT INTO 'CONTACTS' ('ID', 'NAME', 'PHONE', 'EMAIL', 'ADDRESS', 'CITY', 'COUNTRY') VALUES (1, 'Peter Brown', '0742062307', '[email protected]', 'Avenue 13.', 'Santaclaus', 'Austria'); 

Источник

Создание нескольких таблиц MySQL с использованием PHP

Я пытаюсь создать более одной таблицы MySQL, используя php, но он дает ошибки, и я не могу разобраться, что с ним не так.

Он дает ошибку, кроме того, не беспокойтесь о соединении mysql. Я правильно соединился с БД, и я его протестировал, это определенно некорректно с синтаксисом.

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ‘CREATE TABLE IF NOT EXISTS second_table ( user_id INT

Вы не можете использовать запросы с запятой с помощью mysql_query , эта функция позволяет только один запрос за раз!

Вы должны выполнять свои заявления отдельно:

mysql_query(" CREATE TABLE IF NOT EXISTS `mod_reminder_entries` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `user_id` INT(10) NOT NULL, `entry_name` VARCHAR(255) NOT NULL, `entry_value` INT(10) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) ) ") or die(mysql_error()); mysql_query(" CREATE TABLE IF NOT EXISTS `second_table` ( `user_id` INT(10) NOT NULL, `fieldstotal` INT(10) NOT NULL, FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) ) ") or die(mysql_error()); 

Или лучше, используйте mysqli_multi_query – это означает, что вы должны переключиться на mysqli .

Просто сделайте то, что говорит сообщение об ошибке.

DO WHAT HE SAY!

Вы можете выполнять только один запрос за раз с помощью mysql_* но, пожалуйста, не используйте функции mysql_* в новом коде . Они больше не поддерживаются и официально устарели . См. Красную рамку ? Узнайте о подготовленных инструкциях и используйте PDO или MySQLi – эта статья поможет вам решить, какой из них. Если вы выберете PDO, вот хороший учебник .

Источник

Читайте также:  Access uploaded file php
Оцените статью