2013-08-07 3 views
-1
<?php 
    $ll=mysql_query("CREATE TABLE IF NOT EXISTS p (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(255) NOT NULL DEFAULT '', 
    `colum` varchar(255) NOT NULL DEFAULT '', 
    `ord` varchar(255) NOT NULL DEFAULT '', 
    `tex` varchar(255) NOT NULL DEFAULT '', 
    `search` varchar(255) NOT NULL DEFAULT '', 
    `count` varchar(255) NOT NULL DEFAULT '', 
    `order` varchar(255) NOT NULL DEFAULT '', 
    PRIMARY KEY (`id`) 
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;INSERT INTO p (title,colum,ord,tex,search,count,order) VALUES ('$a','$b','$c','$d','$f','$h','$g');") or die(mysql_error()) ; 
if($ll){ 
echo "insert AND CREATE ";} 
else {echo "fail"; } 
?> 

Я работаю на языке php. На этой странице, если таблица не создается первая его создать, а затем вставить значения в столбецзначения не вводятся

После создания таблицы, я вставив значения в таблицу, но она показывает мне ошибку в запросе вставки

Я получаю эту ошибку: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'INSERT INTO p VALUES (' count ',' name ',' asc ',' 1 ',' search ',' count ',' order ')»в строке 11

, что я делаю неправильно

+0

А что ты пробовал? Почему бы просто не выполнить стандартную отладку? –

+0

Вы пробовали sql, например, Phpmyadmin? –

+1

# 1, что вы делаете неправильно, использует устаревшие функции mysql_. Что касается ошибки, я не думаю, что вы можете выполнить два запроса одновременно. – JJJ

ответ

0
INSERT INTO p (title,colum,ord,tex,search,count,order) VALUES ('$a','$b','$c','$d','$f','$h','$g') 

должен быть

INSERT INTO p (`title`,`colum`,`ord`,`tex`,`search`,`count`,`order`) VALUES ('$a','$b','$c','$d','$f','$h','$g') 

Следовательно порядка является MySQL ключевое слово

1

Я не Absolutly уверен, что это проблема, но вы передаете 7 значений в вашем INSERT заявление в то время как ваша таблица deffinition имеет 8 полей.

Я предполагаю, что вы это делаете, потому что поле «id» является автоинкрементным. Однако, если это так, то вы должны указать, какие столбцы соответствуют вашим ценностям в вставном заявлении:

INSERT INTO $p (title, column, ord, ...) VALUES ('$a','$b','$c','$d','$f','$h','$g') 
+0

Я ИСПОЛЬЗУЛ ваш путь тоже, но я не получаю ответ ..... его показывает мне ту же ошибку – user2657625

+0

@ user2657625 Почему вы не пытаетесь распечатать свое SQL-предложение на своем экране, чтобы вы могли запускать его с помощью MySQL клиента или хотя бы скопировать его на ваш вопрос? –

+0

+1 Действительно, это * одна проблема с кодом OP. –

1

Вот сухой прогон разделяющего два заявления - должно работать:

<?php 
$querys[]="CREATE TABLE IF NOT EXISTS $p (
     `id` int(11) NOT NULL AUTO_INCREMENT, 
     `title` varchar(255) NOT NULL DEFAULT '', 
     `colum` varchar(255) NOT NULL DEFAULT '', 
     `ord` varchar(255) NOT NULL DEFAULT '', 
     `tex` varchar(255) NOT NULL DEFAULT '', 
     `search` varchar(255) NOT NULL DEFAULT '', 
     `count` varchar(255) NOT NULL DEFAULT '', 
     `order` varchar(255) NOT NULL DEFAULT '', 
     PRIMARY KEY (`id`) 
    )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1"; 

$querys[]="INSERT INTO $p VALUES (null,'$a','{$b}','{$c}','{$d}','{$f}','{$h}','{$g}')"; 


foreach($querys as $sql) { 
    $ll = mysql_query($sql); 
    $error=mysql_error(); 
    if($error!='') { 
     print $sql."\n"; 
     die($error); 
    } 
} 
?> 
+0

проверил sql в phpmyadmin .. works .. – snitch182

-3

вы закончили заявление вставки с "двойной кавычки, но не начала вы можете написать либо

INSERT INTO p (title,colum,ord,tex,search,count,order) VALUES ('$a','$b','$c','$d','$f','$h','$g'); 

или вы можете написать

("INSERT INTO p (title,colum,ord,tex,search,count,order) VALUES ('$a','$b','$c','$d','$f','$h','$g')"); 

попробовать его в вашем коде

примечание - пожалуйста, не используйте mysqli и mysql в том же коде, скорее вы можете использовать mysqli PDO

+2

'' 'вставлен ранее в строке. В любом случае отсутствующий разделитель строк PHP не даст ошибку MySQL. – JJJ

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