(тест-функция)
function writeDB($title="It the test title", $alias="it-the-test-title", $introtext="HellO! it is test message", $fulltext="And it - full test message", $state="1", $sectionid="4", $catid="29", $created="2011-01-29 18:10:01", $created_by="62", $created_by_alias="satiate", $metakey="It's are meta KEYs!", $metadesc="And it's meat data!"){
$this->db_action="INSERT INTO `jos_content` SET `title`=`$title`, `alias`=`$alias`, `introtext`=`$introtext`, `fulltext`=`$fulltext`, `state`=`$state`, `sectionid`=`$sectionid`, `catid`=`$catid`, `created`=`$created`, `created_by`=`$created_by`, `created_by_alias`=`$created_by_alias`, `metakey`=`$metakey`, `metadesc`=`$metadesc`";
mysql_query($this->db_action) or die('Error: Failed db action. '.mysql_error());
mysql_close($this->db_connect) or die('Error: Failed db closed. '.mysql_error());
}
or die('Error: Failed db action. '.mysql_error()) показывает такую ошибку:
Error: Failed db action. Unknown column 'It the test title' in 'field list'
бред какой-то!
причем тут column 'It the test title'!??? Таблица jos_content существует, колонка title - аналогично.
не понимаю в чем дело?!... помогите пожалуйста!
пробовал и в формате: "insert into `...` (...) values (...)" - тоже самое!
Спустя 5 минут, 26 секунд (29.01.2011 - 21:22) Winston написал(а):
Попробуй одинарные кавычки
И так переделай
И может стоит использовать конкатенацию?
$alias='it-the-test-title', $introtext='HellO! it is test message'
И так переделай
`title`='". $title ."', `alias`='". $alias ."'
И может стоит использовать конкатенацию?
$title="It the test title" . $alias="it-the-test-title".
Спустя 1 минута, 45 секунд (29.01.2011 - 21:23) blase написал(а):
Цитата (PHPprogramer @ 29.01.2011 - 18:22) |
Попробуй одинарные кавычки <pre class="sh_sourceCode" rel="php"><span class="sh_variable">$alias</span><span class="sh_symbol">=</span><span class="sh_string">'it-the-test-title'</span><span class="sh_symbol">,</span> <span class="sh_variable">$introtext</span><span class="sh_symbol">=</span><span class="sh_string">'HellO! it is test message'</span></pre> И так переделай <pre class="sh_sourceCode" rel="php">`title`<span class="sh_symbol">=</span><span class="sh_string">'". $title ."'</span><span class="sh_symbol">,</span> `alias`<span class="sh_symbol">=</span><span class="sh_string">'". $alias ."'</span></pre> И может стоит использовать конкатенацию? <pre class="sh_sourceCode" rel="php"><span class="sh_variable">$title</span><span class="sh_symbol">=</span><span class="sh_string">"It the test title"</span> <span class="sh_symbol">.</span> <span class="sh_variable">$alias</span><span class="sh_symbol">=</span><span class="sh_string">"it-the-test-title"</span><span class="sh_symbol">.</span></pre> |
1) пробовал
2) пробовал
3) пробовал
....мдауж(((
он ведь мне не выдаёт ошибку синтаксиса, думаю не в кавычках дело... а в чем???
Спустя 8 минут, 30 секунд (29.01.2011 - 21:32) blase написал(а):
почему он отзывается на 'It the test title' как на название колонки??:
Unknown column 'It the test title'
странно...
когда я исправляю эту строку 'It the test title' на 'title'(название колонки). то он переходит к следующему к alias:
Unknown column 'it-the-test-title'
и т.д., в итоге(когда я всё исправляю под название колонки, то) отправляет он всё таки запрос без ошибок, но полностью пустой!
Unknown column 'It the test title'
странно...
когда я исправляю эту строку 'It the test title' на 'title'(название колонки). то он переходит к следующему к alias:
Unknown column 'it-the-test-title'
и т.д., в итоге(когда я всё исправляю под название колонки, то) отправляет он всё таки запрос без ошибок, но полностью пустой!
Спустя 2 минуты, 48 секунд (29.01.2011 - 21:35) Winston написал(а):
Ты задаешь
$title="It the test title" - это строка
А в запрос подставляется
`title`=`It the test title`
А ` (обратные апострофы обозначают имя поля). Потому и ошибка неизвестное поле 'It the test title'
Потому попробуй ещё раз во всём запросе таким образом записать
`title`='". $title ."'
$title="It the test title" - это строка
А в запрос подставляется
`title`=`It the test title`
А ` (обратные апострофы обозначают имя поля). Потому и ошибка неизвестное поле 'It the test title'
Потому попробуй ещё раз во всём запросе таким образом записать
`title`='". $title ."'
Спустя 2 минуты, 9 секунд (29.01.2011 - 21:37) blase написал(а):
Спустя 2 минуты, 3 секунды (29.01.2011 - 21:39) blase написал(а):
Цитата (PHPprogramer @ 29.01.2011 - 18:35) |
А ` (обратные апострофы обозначают имя поля). Потому и ошибка неизвестное поле 'It the test title' |
ааааа, понял... ок. попробую...
....
Спустя 3 минуты, 30 секунд (29.01.2011 - 21:42) blase написал(а):
$this->db_action="INSERT INTO `jos_content` SET `title`='".$title."', `alias`='".$alias."', `introtext`='".$introtext."', `fulltext`='".$fulltext."', `state`='".$state."', `sectionid`='".$sectionid."', `catid`='".$catid."', `created`='".$created."', `created_by`='".$created_by."', `created_by_alias`='".$created_by_alias."', `metakey`='".$metakey."', `metadesc`='".$metadesc."'";
mysql_query($this->db_action) or die('Error: Failed db action. '.mysql_error());
Error: Failed db action. 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 's are meta KEYs!', `metadesc`='And it's meat data!'' at line 1
Спустя 2 минуты, 13 секунд (29.01.2011 - 21:44) Invis1ble написал(а):
blase
в запросе переменные обрабатывай mysql_real_escape_string(), у тебя ошибка синтаксиса из-за апострофа в тексте
в запросе переменные обрабатывай mysql_real_escape_string(), у тебя ошибка синтаксиса из-за апострофа в тексте
Спустя 9 секунд (29.01.2011 - 21:45) Winston написал(а):
Видишь апостроф в
$metadesc="And it's meat data!"
Пиши в запросе `metadesc`='".mysql_real_escape_string($metadesc)."'"
$metadesc="And it's meat data!"
Пиши в запросе `metadesc`='".mysql_real_escape_string($metadesc)."'"
Спустя 29 секунд (29.01.2011 - 21:45) blase написал(а):
хех))... ага я уже увидел, только что сообщение писал:
дело в:
$metakey="It's are meta KEYs!", $metadesc="And it's meat data!"
а именно: It's, с символом '
дело в:
$metakey="It's are meta KEYs!", $metadesc="And it's meat data!"
а именно: It's, с символом '
Спустя 1 минута, 2 секунды (29.01.2011 - 21:46) blase написал(а):
заработало)) спасибо большое!!!)