2015-05-21 3 views
2

Это указывает на код в инструкциях, которые мне даны о том, как создавать таблицы с использованием php. Но каждый раз, когда я освобождаю код, я подключаюсь к серверу MySQL на localhost как cis54. CREATE TABLE Failed. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «)» в строке 5. Это не делает мне зелье, я не знаю, как это исправить или что он пытается сказать. Поиск ответа не приблизил меня к решению. Уже проверено на наличие ошибок php, их нет.Я прихожу с синтаксической ошибкой в ​​SQL

<?php 
    $dbc = mysqli_connect('localhost', 'cis54student', 'student', 'cis54') 
    or die('Could not connect to MySQL server.'); 

echo 'Connected to MySQL server on localhost as cis54.' . "<br>"; 

$query = "CREATE TABLE rowe_email_list (
    first_name VARCHAR(20), 
    last_name VARCHAR(20), 
    email VARCHAR(60), 
)"; 
$rs = mysqli_query($dbc, $query) or die('CREATE TABLE Failed.' . mysqli_error($dbc)); 

echo 'Create table rowe_email_list.' . "<br>"; 

    mysqli_close($dbc); 
?>  
+4

удалить дополнительную запятую возле 'email VARCHAR (60),' –

+0

Вы пробовали написать создание в phpMyAdmin? –

+0

20 и 60 должны быть короткими. нет вреда для их всех 255 –

ответ

1

Две вещи: -

  1. , необходимость удаления наконец написано рядом с электронной почтой l икэ это: -

    $query = "CREATE TABLE rowe_email_list (
    first_name VARCHAR(20), 
    last_name VARCHAR(20), 
    email VARCHAR(60) // , removed from here 
    )"; 
    
  2. Также длина слишком коротка, пожалуйста, увеличить их до макс. это намного лучше.

    $query = "CREATE TABLE rowe_email_list (
        first_name VARCHAR(255), 
        last_name VARCHAR(255), 
        email VARCHAR(255) // , removed from here 
    )"; 
    

Примечание: - оба предложили вам, но я просто положить оба вместе.

Первый для решения вашей проблемы.

Во-вторых, чтобы вы были более комфортно от будущих проблем, возникающих из-за короткой длины каждого поля.

0

волочить запятая в вашем SQL может быть разбивая его:

$query = "CREATE TABLE rowe_email_list (
    first_name VARCHAR(20), 
    last_name VARCHAR(20), 
    email VARCHAR(60), 
)"; 

должно быть:

$query = "CREATE TABLE rowe_email_list (
    first_name VARCHAR(20), 
    last_name VARCHAR(20), 
    email VARCHAR(60) 
)"; 
Смежные вопросы