Создание таблицы для базы данных с использованием php-скрипта, не работает?

Я пытаюсь создать таблицу в моей базе данных с php. Я как бы пытаюсь создать сайт социальной сети, так или иначе, я написал код и работает, но новая таблица не будет создана в базе данных, я не знаю, что, похоже, не так с кодом. Помощь будет очень благодарна спасибо!

<?php $host = "host"; $user = "user"; $pswd = "password"; $dbnm = "db"; $conn = @mysqli_connect($host, $user, $pswd, $dbnm); if (!$conn) die ("<p>Couldn't connect to the server!<p>"); $selectData = @mysqli_select_db ($conn, $dbnm); if(!$selectData) { die ("Database Not Selected"); } $sql = "CREATE TABLE IF NOT EXIST 'friends' ( 'friend_id' INT NOT NULL auto_increment, 'friend_email' VAR CHAR(20) NOT NULL, 'password' VAR CHAR(20) NOT NULL, 'profile_name' VAR CHAR(30) NOT NULL, 'date_started' DATE NOT NULL, 'num_of_friends' INT unsigned, PRIMARY KEY ('friend_id') )"; $query_result = @mysqli_query($conn, $sql); mysqli_close($conn); ?> 

Вам также нужно проверить наличие ошибок при запуске скриптов, чтобы либо отключить подавление (удалить символ @), либо проверить наличие ошибки после запуска.

На самом деле было несколько ошибок:

  1. У вас был EXIST а не EXISTS
  2. Вы использовали одиночные кавычки ('), а не знак
  3. У вас был VAR CHAR как два слова, а не правильный VARCHAR (одно слово)

      CREATE TABLE IF NOT EXISTS `friends` ( `friend_id` INT NOT NULL auto_increment, `friend_email` VARCHAR(20) NOT NULL, `password` VARCHAR(20) NOT NULL, `profile_name` VARCHAR(30) NOT NULL, `date_started` DATE NOT NULL, `num_of_friends` INT unsigned, PRIMARY KEY (`friend_id`) ) 

Прежде всего, когда вы отлаживаете скрипт, удалите «@» перед функциями. Они будут подавлять предупреждения, которые в противном случае будут быстро направлять вас к ошибкам.

У вашего оператора create table есть много синтаксических ошибок. Попробуйте исправленную –

  CREATE TABLE IF NOT EXISTS `friends` ( `friend_id` INT NOT NULL auto_increment, `friend_email` VARCHAR(20) NOT NULL, `password` VARCHAR(20) NOT NULL, `profile_name` VARCHAR(30) NOT NULL, `date_started` DATE NOT NULL, `num_of_friends` INT unsigned, PRIMARY KEY (`friend_id`) ) 

У вас ошибка в CREATE TABLE. Вы должны написать CREATE TABLE tablename IF NOT EXISTS (EXISTS должен заканчиваться на S). Я также предлагаю вам не подавлять ошибки, а также печатать ошибки после каждого такого запроса:

 if(!mysqli_query($conn, $sql) { die("The query ".$sql." failed: ".mysqli_eror }