2014-12-15 3 views
-1

Мне нужно сделать установку приложения и сделать эти таблицы в установке, например wordpress. я не имею ошибку в PHP, но это коды не делают никаких таблиц ...Как создать таблицу mysql с помощью php

$conn = new mysqli('localhost', 'root', '', 'billboard'); 
if (mysqli_connect_errno()) { 
    exit('Connection lost'); 
}; 
for($i=1;$i<=21;$i++){ 
    $table= "city".$i ; 
    echo ($table . "<br>"); 
    $sql='CREATE TABLE $table 
     (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), 
     test0 VARCHAR(30), 
     test1 VARCHAR(30), 
     test2 VARCHAR(30))'; 
    if ($conn->query($sql) === TRUE) { 
     echo 'tables created'; 
    } 
    else { 
     echo 'Cant create tables'; 
    }; 
}; 
+0

Хороший синтаксис: '};' (ничего страшного, но я могу сказать, что вы программист js) – Rizier123

+3

Вы должны использовать двойные кавычки '' 'вместо одинарных кавычек' '', иначе переменные не будут расширены –

+1

Вам не нужно много таблиц :) Поместите все данные городов в одну таблицу –

ответ

0

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

В этом случае вы пытаетесь создать таблицу с таблицей $ table 20 раз. Вместо этого, вы можете сцепить переменную в петлю следующим образом:

$sql= 'CREATE TABLE ' . $table . ' 
    (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), 
    //etc... 

ИЛИ

$sql= "CREATE TABLE $table 
    (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), 
    //etc... 

Я считаю, что это более удобно использовать двойные кавычки для запросов SQL в любом случае, так как вы будете часто нужно ставить SQL значения в одинарные кавычки (например, WHERE ID = '5').

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