2016-04-18 2 views
0

Я пытаюсь увидеть, где синтаксис неверен, но этот код не сделает следующие две таблицы, однако, сделает другие небольшие таблицы, код которых я нашел в Интернете, напримерSqli не создает таблицы в PHP-коде

CREATE TABLE Persons 
(
PersonID int, 
LastName varchar(255), 
FirstName varchar(255), 
Address varchar(255), 
City varchar(255) 
); 

Но это не приведет к тому, что две таблицы определены ниже в PHP-коде. Кроме того, $mysqli - это объект подключения к базе данных, определенный в другом классе, который требуется здесь.

<?php // Check connection 
    $connectionStatus = FALSE; 
    if (!$mysqli) { 
     echo "<h2>Unable to connect to MySqli database!</h2>"; 
    } 
    else{ 
     echo "<h2>Successfully connected to MySqli database!</h2>"; 
     $connectionStatus = TRUE; 
    } 
    if($connectionStatus == TRUE){ 
     echo "<form action='' method='POST'>"; 
      echo "FLATFILE: <input type='file' name='FlatFile' /><br/><br/>"; 
      echo "<input type='submit'/>"; 
      echo "</form>"; 
    } 
    if($connectionStatus == TRUE){ 
     $sql = "CREATE TABLE Supplier(
     Code varchar(255), 
     Name varchar, 
     Address1 varchar, 
     Address2 varchar, 
     City varchar, 
     State varchar, 
     Zip varchar, 
     Country varchar, 
     Phone varchar, 
     Fax varchar, 
     PRIMARY KEY (Code))"; 
     mysqli_query($mysqli, $sql); 

      $sql = "CREATE TABLE PO(
     Number varchar(255), 
     ReceivingFactoryCode varchar, 
     SupplierCode varchar, 
     IssueYear varchar, 
     IssueMonth varchar, 
     IssueDay varchar, 
     BuyingFactoryCode varchar, 
     PRIMARY KEY (Number), 
     FOREIGN KEY (ReceivingFactoryCode) REFERENCES Supplier(Code) 
     )"; 
     mysqli_query($mysqli, $sql); 



    } 


    $mysqli->close(); 

    ?> 

Также по какой-то причине, следующий код, который я нашел в Интернете работы:

$sql = "CREATE TABLE Persons 
(
PersonID int, 
LastName varchar(255), 
FirstName varchar(255), 
Address varchar(255), 
City varchar(255) 
)"; 
    mysqli_query($mysqli, $sql); 

$sql = "CREATE TABLE Orders 
(
O_Id int NOT NULL, 
OrderNo int NOT NULL, 
P_Id int, 
PRIMARY KEY (O_Id), 
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) 
)"; 
mysqli_query($mysqli, $sql); 
+0

Вы получаете * любые сообщения об ошибках? –

+0

Нет сообщений об ошибках; просто эти таблицы не создаются. но когда я использую код sql, найденный онлайн и заменяющий мои таблицы, он работает. –

+0

Проверьте свои журналы ошибок. –

ответ

0

Вы можете попытаться вставить код в MySQL, если вы не можете настроить неправильно регистрируетесь на вашем веб-сервере. Вы обнаружите, что varchar не является допустимым типом данных MySQL. Вместо этого попробуйте VARCHAR(255).

+0

thank u ill try –

+0

Я не знаю почему, но делаю это и перемещая все имена атрибутов в коде слева (форматирование), исправил его. –

+0

Вы не знаете, почему? Я просто сказал тебе, почему. – miken32

Смежные вопросы