내 웹 사이트에 "설정 스크립트"를 만들려고합니다. 나는 데이터베이스를 만들고 테이블과 일부 콘텐츠를 동시에 추가하려고합니다. 지금까지 내가 그것을 어떻게이지만, 여러 쿼리 사용하는 종류의 오프 지저분한 것 같다단일 쿼리를 사용하여 PHP를 통해 여러 MySQL 테이블을 만드는 방법은 무엇입니까?
<?php
$servername = "localhost";
$username = "root";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE MYDB";
if ($conn->query($sql) === TRUE) {
echo "1. Database created successfully <br/>";
$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 <br/>";
} 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 <br/>";
} else {
echo "Error creating table: " . $conn->error;
}
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
이 더 나은 방법이 있나요를? 감사합니다.
는는 == UPDATE 나는 데이터베이스를 내보내고 내 설치 쿼리로 결과 .SQL 파일을 사용하지만, 뭔가 잘못 위해 노력했다
==, 내가 얻을 :
을 만드는 중 오류 테이블 : SQL 구문에 오류가 있습니다. 라인 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');
에서 '
CONTACTS
(
ID
,
NAME
,
PHONE
,
EMAIL
,
ADDRESS
,
CITY
,`COUN INTO INSERT'근처 사용할 수있는 권리 구문 MySQL 서버 버전에 해당하는 설명서를 확인
내 여러 쿼리를 실행하기위한 "multi_query()"를 필요
== SOLUTUION의 ==.
모든 SQL 쿼리를 하나의 파일에 쓰고'; '를 사용하여 구분할 수 있습니다. –
설명서 읽기 : http://php.net/manual/en/pdo.begintrans action.php 또는 stackoverflow 검색 : http://stackoverflow.com/questions/6346674/pdo-support-for-multiple-queries-pdo-mysql-pdo-mysqlnd;) – Bobot
@BenseidSeid 당신이 샘플을 드롭 수 plz - 그냥 내가 뭔가를 놓친 경우에 대비해서. 감사! –