Есть такая проблема, пишу маленькую программу на delphi for php, хочу создать обработчик события, чтобы вставлять новую строку в таблицу.
Для берем кнопку и вписываем в нее следующий код:
function Button4Click($sender, $params)
{
$this->Query1->Close();
$q1= "INSERT INTO news VALUES(10,'qwe','qwe','qwe','qwe','2009-07-22')";
//$q1= "Select * from news where record_ID='".$this->Edit1->Text."'";
$this->Query1->SQL=$q1;
$this->Query1->Open();
}
Для примера показал закомментированный оператор выбора, с ним все работает, а вот Isnert выдает ошибку следующего вида,
Application raised an exception class ADODB_Exception with message 'mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0,10' at line 1] in EXECUTE("INSERT INTO news VALUES(10,'qwe','qwe','qwe','qwe','2009-07-22') LIMIT 0,10")
'
Callstack #0 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\samples\INTERRA\unit0.php Line: 131
|_Callstack #1 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\classes.inc.php Line: 1697
|_Callstack #2 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\classes.inc.php Line: 1744
|_Callstack #3 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\classes.inc.php Line: 1410
|_Callstack #4 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\stdctrls.inc.php Line: 3439
|_Callstack #5 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\classes.inc.php Line: 1306
|_Callstack #6 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\samples\INTERRA\unit0.php Line: 84
|_Callstack #7 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\db.inc.php Line: 1389
|_Callstack #8 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\dbtables.inc.php Line: 772
|_Callstack #9 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\system.inc.php Line: 196
|_Callstack #10 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\dbtables.inc.php Line: 1257
|_Callstack #11 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\db.inc.php Line: 1472
|_Callstack #12 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\db.inc.php Line: 1210
|_Callstack #13 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\db.inc.php Line: 1197
|_Callstack #14 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\dbtables.inc.php Line: 655
|_Callstack #15 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\dbtables.inc.php Line: 218
|_Callstack #16 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\adodb\drivers\adodb-mysql.inc.php Line: 490
|_Callstack #17 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\adodb\adodb.inc.php Line: 882
|_Callstack #18 File: C:\Program Files\CodeGear\Delphi for PHP\1.0\vcl\adodb\adodb.inc.php Line: 907
Единственная догадка, что ошибка происходит из-за автоматически создаваемого ограничения LIMIT 0,10, которое я нигде не ставил, да и особо про него ничего не знаю.
Подскажите как это можно обойти или где это дело прописать, чтобы все заработало.
Заранее благодарен.
Спустя 5 часов, 55 минут, 17 секунд (29.07.2009 - 20:12) Stuff_f написал(а):
интересно, точно delphi for php ? , с++ попахивает,ты не ощибся???
почему то в твоем обработчике, событий-кнопочка, нет соединения с базой логина, пароля и т.д, почитай получше книжонку.
поставь $this->Query1->Close(); в конец кода, а $this->Query1->Open(); в начало а то как то не понятно!!!!!!!!!
почему то в твоем обработчике, событий-кнопочка, нет соединения с базой логина, пароля и т.д, почитай получше книжонку.
поставь $this->Query1->Close(); в конец кода, а $this->Query1->Open(); в начало а то как то не понятно!!!!!!!!!
Спустя 1 месяц, 15 дней, 12 часов, 40 минут, 58 секунд (15.09.2009 - 08:53) 2356 написал(а):
чтобы обойти ошибку с лимитами выставь их равными "-1"
типа так.....
$query = “INSERT INTO table (field1,field2) VALUES(’” . $value1 . “‘,’” . value2 . “‘)”;
$this->Query1->close();
$this->Query1->LimitStart = ‘-1′;
$this->Query1->LimitCount = ‘-1′;
$this->Query1->SQL = $query;
$this->Query1->open();
типа так.....
$query = “INSERT INTO table (field1,field2) VALUES(’” . $value1 . “‘,’” . value2 . “‘)”;
$this->Query1->close();
$this->Query1->LimitStart = ‘-1′;
$this->Query1->LimitCount = ‘-1′;
$this->Query1->SQL = $query;
$this->Query1->open();