Top.Mail.Ru
Ответы

Не могу создаеть таблицу в базе данных Mysql через php. Базу создает, а таблицу нет. Помогите найти ошибку.

Function createBase(){//создание базы и таблицы
$mysqli = new mysqli("localhost", "ialiev", "");
if($mysqli-> connect_error){
echo $mysqli-> connect_error;
exit;
}
$mysqli-> set_charset('utf8');
$result = $mysqli->query("CREATE DATABASE db_specification");
$mysqli-> close;
createTable();
}

function createTable(){//создание таблицы
$mysqli = new mysqli("localhost", "ialiev", "", "db_specification");
if($mysqli-> connect_error){
echo $mysqli-> connect_error;
exit;
}
$mysqli-> set_charset('utf8');
$result = $mysqli-> query("CREATE TABLE `table1` (
`id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(20) NOT NULL,
`number` VARCHAR(20) NOT NULL,
`volume` INT(3) NOT NULL UNSIGNED,
`note` VARCHAR(50))
");
if($result){
echo "таблицы создана";
}else{
echo "не создана";
}
$mysqli-> close;
}

По дате
По Рейтингу
Аватар пользователя
Новичок
5лет

$mysqli-> close; - ошибка. Close - это метод, а не поле. Потому:
$mysqli->close();

И, лучше, не малоосмысленное "не создана", а сообщение об ошибке, которое возвращает MySQL: https://www.php.net/manual/ru/mysqli.error.php

Аватар пользователя
Оракул
5лет

такая штука таблицу только один раз создаст на второй вывалится с ошибкой что таблица есть