Как вы получаете столбцы в MySQL, в котором нет слова больше 40 символов? - PullRequest
3 голосов
/ 01 февраля 2012

В основном я пытаюсь создать функцию в php, которая выдаст мне самый последний столбец (сообщение), в котором нет слова длиной более 40 символов.Мне удалось получить самое последнее сообщение, но я понятия не имею, как получить только самое последнее сообщение, в котором нет слова длиной более 40 символов.Пожалуйста, обратитесь к переменной $ callrecent.

<?php
function recentpost($postnum) {
$callrecent = "SELECT message FROM messages WHERE message (HAS NO WORD GREATER THAN 40 CHARACTERS) ORDER BY msg_id DESC LIMIT $postnum,1";

$callrecent_run = mysql_fetch_assoc(mysql_query($callrecent));

$message = stripslashes($callrecent_run['message']);

return $message;
}
?>

Ответы [ 2 ]

6 голосов
/ 01 февраля 2012

вы можете использовать регулярные выражения

SELECT message
FROM messages
WHERE message not regexp '[[:alnum:]]{41}'
ORDER BY msg_id DESC
LIMIT $postnum, 1
0 голосов
/ 01 февраля 2012

Попробуйте

  SELECT message
    FROM messages
   WHERE LENGTH(message) <= 40
ORDER BY msg_id DESC
   LIMIT $postnum, 1
...