Вопрос - Ответ по MySQL

Печать RSS
3071


Землянин
0
Что не так в этом запросе?
'INSERT INTO `'.db_prefix.'reply` (to,text,time,status)
VALUES (5,"fdgfgfgfg",'.time().',0)'
db_prefix объявлена, time() возвращает integer, но при запросе mysql выдает следующее:
Invalid query: 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 'to,text,time,status)
VALUES (5,"fdgfgfgfg",1342695237,0)' at line 1
Изменил: Серега (19.07.2012 / 15:01)

Землянин
0
все, разобрался
И

Оранжевые штаны
0
Здравствуйте у меня такая проблема.
Есть код
if(isset($_POST['name']) && !empty($_POST['name'])){
$name = protect($_POST['name']);
$work = substr_replace($name,'',1);
mysql_query('INSERT INTO `performer` SET `first_letter` = "'.$work.'",`name` = "'.$name.'"');
echo '<div class="infogreen">Добавлено!</div>';
}else{
echo '<form class="box_orange" action="" method="post">
*Исполнитель: <br /> <input class="search" size="20"  type="text" name="name"/><br />
<input class="searched" type="submit" value="Добавить"/>
</form>';
}

То есть пишем исполнителя в форму он записывает Полное слово в 1 ячейку а первую букву этого исполнителя во вторую. Все бы хорошо да вот если написать по русски слово то само слово запишется а первая буква нет. Подскажите как исправить?
П

Пацак
0
Вероятно, проблема в том, что ты используешь многобайтную кодировку, например, utf-8. Попробуй заменить substr_replace($name, '', 1) на mb_substr($name, 0, 1, 'название кодировки');
Изменил: Петр (27.07.2012 / 11:58)
И

Оранжевые штаны
0
535. Im-ieee, спс помогло
mb_substr($name, 0, 1, 'UTF-8'); теперь буква добавляется

Чатланин
0
Есть код:
<?php
$t = $this -> db -> query("SELECT `id` FROM `tbl` WHERE `usr`={$usr} LIMIT 1;") -> fetchColumn(0);
if ( ! empty($t)) {
// Обновляем запись
$this -> db -> query("UPDATE `tbl` SET `time`=UNIX_TIMESTAMP() WHERE `usr`={$usr} LIMIT 1;");
} else {
// Добавляем запись
$this -> db -> query("INSERT INTO `tbl` (`time`, `usr`) VALUES (UNIX_TIMESTAMP(), {$usr});");
}
Задача в том, чтобы объединить все три запроса в один. Помогите, башка уже не варит

крутой чЕл
0
По моему никак ты не объеденишь SELECT, INSERT и UPDATE в одном запросе. Хотя хз, может и можно. А чем тебе этот код не угодил?

Чатланин
0
538. Wapruks, в гугле полно решений, но все они вызывают синтаксическую ошибку sad
П

Пацак
0
537. Виталик Альянс, если на usr индекс unique:
 INSERT INTO tbl (usr, time) VALUES ('usr', CURRENT_TIMESTAMP) ON DUPLICATE KEY UPDATE time=CURRENT_TIMESTAMP

Чатланин
0
540. Im-ieee, спасибо, все прекрасно работает
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск