PHP AJAX и MySQL не возвращают данные? - PullRequest
0 голосов
/ 06 февраля 2011

У меня есть следующий блок PHP:

$word = mysql_real_escape_string(trim($_GET['word']));
    $firstletter = substr('$word', 0, 1);

    $query = "SELECT * FROM `dictionary` WHERE word LIKE '%$firstletter'";
    $result = mysql_query($query) or die(mysql_error().": ".$query);
    $row = mysql_fetch_assoc($result);
    // send back the word to ajax request
    $i = 0;
    $fullLoad = '';
    while ($i < mysql_numrows($result)) {
        $fullLoad = $fullload . '|' . $row['word'];
        $i++;
    }
    echo $fullLoad;

Теперь мой AJAX-вызов:

$.ajax({
                type: "GET",
                url: "word-list.php",
                data: "word="+ theword,
                success: function(data){ //data retrieved
                    console.log(data);
                            }
    });

Теперь предположим, что отсутствующей переменной слова является apple - так $word = 'apple';

Но когда console.log () выводит - все, что я получаю, это ноль, ничего, nada, zip, blahblah

>: (* ​​1013 *

Ответы [ 2 ]

6 голосов
/ 06 февраля 2011

Попробуйте это

 $firstletter = substr($word, 0, 1);
2 голосов
/ 06 февраля 2011

Я немного смущен этой логикой:

$row = mysql_fetch_assoc($result);
$i = 0;
$fullLoad = '';
while ($i < mysql_numrows($result)) {
    $fullLoad = $fullload . '|' . $row['word'];
    $i++;
}
echo $fullLoad;

mysql_fetch_assoc вернет только одну строку. Разве вы не имеете в виду:

$fullLoad = '';
while ($row = mysql_fetch_assoc($result)) {
    if( !is_null( $row['word'] ) ) $fullLoad .= . '|' . $row['word'];
}
echo $fullLoad;

Первый из них выдаст только один результат несколько раз. Во втором примере будут выведены все значения, если значение слова строки не равно нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...