Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос INSERT 
V
    Опции темы
Самозванка
Дата 17.9.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Ранее работала только с запросом SELECT. Не могли бы вы объяснить почему не срабатывает запрос INSERT. БД Sybase
Код

<?php 
$dbname= $_COOKIE['dbname'];
$conn = odbc_connect( $dbname, "DBA", "SQL" );
$olga = "CREATE TABLE \"DBA\".\"OOO\" (\"stockname\" varchar(40) NULL, \"goodname\"  varchar(40) NULL,  \"model\"    varchar(40) NULL, \"datepart\" datetime null,  \"measureqty\"  varchar(20) NULL,\"qtyonstock\" double null, \"price\" double null)";
$result3 = odbc_exec( $conn,  $olga );
$result1 =  odbc_exec( $conn, "select * from birja" );
for ($j=0; $j<odbc_num_rows($result1); $j++)
{
$date = iconv('windows-1251', 'UTF-8', $r['datepart']);
$nd = substr($date, 0, strpos($date, " "));
$pr = iconv('windows-1251', 'UTF-8', $r['price']);
$pric = substr($pr, 0, strpos($pr,".")+3);
$qt = iconv('windows-1251', 'UTF-8', $r['qtyonstock']);
$qty = substr($qt, 0, strpos($qt,".")+3);
$stname = iconv('windows-1251', 'UTF-8', $r['stockname']);
$mode = iconv('windows-1251', 'UTF-8', $r['model']);
$meas = iconv('windows-1251', 'UTF-8', $r['measureqty']);
$sql4="INSERT INTO `OOO`  
               VALUES ('$stname',
              '$responce4',
              '$mode',
              '$nd',
              '$meas',
              '$qty',
              '$pric',
              )
      ";
$result4 = odbc_exec( $conn,  $sql4 );
}
?>


Я использую неправильный синтаксис?

Вот такие предупреждения появляются:
Код

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Sybase][ODBC Driver][Adaptive Server Anywhere]Table or view already exists: Item 'OOO' already exists, SQL state S0001 in SQLExecDirect in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\TABLE_TREE\table.php on line 18
Склад Наименование Модель Дата прихода Единица измерения Количество Цена 
Склад Миллиметровка 50х70 см AG50X70 2006-06-05 лист 1 1181.21 
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error or access violation: near '`' in INTO [`]OOO` ..., SQL state 37000 in SQLExecDirect in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\TABLE_TREE\table.php on line 52 


Почему таблица создается, но поля не заполняются?
PM MAIL ICQ   Вверх
Leoo
Дата 17.9.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: нет
Всего: 3



Попробуй указать поля которые хочешь заполнить
Код

INSERT INTO table (field1, field2, field3) VALUES('fjdkf', 'dwsds', 'kljlkjkl')



--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
Самозванка
Дата 17.9.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Leoo, 

Спасибо, уже и так попробовала. Не катит. Такое предупреждение:

Код

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Sybase][ODBC Driver][Adaptive Server Anywhere]Table or view already exists: Item 'OOO' already exists, SQL state S0001 in SQLExecDirect in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\TABLE_TREE\table.php on line 18
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Sybase][ODBC Driver]Syntax error or access violation, SQL state 42000 in SQLExecDirect in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\TABLE_TREE\table.php on line 44 




Это сообщение отредактировал(а) Самозванка - 17.9.2007, 11:28
PM MAIL ICQ   Вверх
SelenIT
Дата 17.9.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



Самозванка, может, сайбэйзу INTO не нужен (судя по этому)? И обратные майэскюэльные кавычки меня тоже смущают...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Самозванка
Дата 17.9.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Спасибо, с этим вопросом разобралась. НЕ надо название таблицы было брать в кавычке.
то есть так:

Код

$sql6="INSERT INTO OOO (stockname, goodname, model, datepart, measureqty, qtyonstock, price) VALUES ('$stname', '$responce4', '$mode' , '$nd', '$meas', '$qty', '$pric') ";


Но у меня возникла следом еще 2 вопроса, я же загружаю эту таблицу с помощью AJAx, и в итоге пробелмы с кодировками, у меня русский шрифт в таблице после запроса отображается иероглифами. 

И еще есть ли какой нить такой вариант запроса, чтобы очистить всю таблицу??? и какой у него синтаксис если есть?
PM MAIL ICQ   Вверх
console
Дата 17.9.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: нет
Всего: 3



в MySQL это TRUNCATE... в Sybase может тоже подобное


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
Самозванка
Дата 17.9.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Спасибо, удалила С помощью DROP.

Но почему русский шрифт отображается так:
Код

Чехлы х/б 70 мм


Привожу весь код файла, который возвращается с помощью AJAX:
Код

<?php 
$id=$_GET["id"];
$dbname= $_COOKIE['dbname'];
$responce = iconv('windows-1251', 'UTF-8', $_GET["id"]);
$conn = odbc_connect( $dbname, "DBA", "SQL" );
$result = odbc_exec( $conn, "exec ipr_birja" );
$result1 =  odbc_exec( $conn, "select * from ipr_birja" );
$sql1="DROP TABLE OOO" ;
$re = odbc_exec( $conn, $sql1);
$olga = "CREATE TABLE \"DBA\".\"OOO\" (\"stockname\" varchar(40) NULL, \"goodname\"  varchar(40) NULL,  \"model\"    varchar(40) NULL, \"datepart\" datetime null,  \"measureqty\"  varchar(20) NULL,\"qtyonstock\" double null, \"price\" double null)";
$result3 = odbc_exec( $conn,  $olga );
echo "<table border = 1 width=100%>";
$shapka =  "<tr><td>Склад</td><td>Наименование</td><td>Модель</td><td>Дата прихода</td><td>Единица измерения</td><td>Количество</td><td>Цена</td></tr>";
$responce3 = iconv('windows-1251', 'UTF-8', $shapka);
echo $responce3;
for ($j=0; $j<odbc_num_rows($result1); $j++)
{
$r=odbc_fetch_array($result1);
$responce2 = iconv('windows-1251', 'UTF-8', $r["goodclassid"]);
$responce4 = iconv('windows-1251', 'UTF-8', $r["goodname"]);
$pos=strpos($responce2,$responce);
if ($pos !==false)
{
echo "<tr>";
$date = iconv('windows-1251', 'UTF-8', $r['datepart']);
$nd = substr($date, 0, strpos($date, " "));
$pr = iconv('windows-1251', 'UTF-8', $r['price']);
$pric = substr($pr, 0, strpos($pr,".")+3);
$qt = iconv('windows-1251', 'UTF-8', $r['qtyonstock']);
$qty = substr($qt, 0, strpos($qt,".")+3);
$stname = iconv('windows-1251', 'UTF-8', $r['stockname']);
$mode = iconv('windows-1251', 'UTF-8', $r['model']);
$meas = iconv('windows-1251', 'UTF-8', $r['measureqty']);
echo "<td>",$stname,"</td><td>",$responce4,"</td><td>",$mode,"</td><td>",$nd,"</td><td>",$meas,"</td><td>",$qty,"</td><td>",$pric,"</td>";
$sql6="INSERT INTO OOO (stockname, goodname, model, datepart, measureqty, qtyonstock, price) VALUES ('$stname', '$responce4', '$mode' , '$nd', '$meas', '$qty', '$pric') ";
$result4 = odbc_exec( $conn,  $sql6);
echo "</tr>";
}
}
echo "</table>";
?>

PM MAIL ICQ   Вверх
ewolf
Дата 17.9.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: 2
Всего: 18



Вы уверены, что данные скрипту передаются в юникоде?
PM MAIL ICQ   Вверх
Самозванка
Дата 18.9.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



ewolf, да, уверена, но я уже решила эту проблему, в базу тоже в юникоде надо было передавать

Это сообщение отредактировал(а) Самозванка - 18.9.2007, 09:00
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.