PHP AJAX和mySQL没有返回数据?

时间:2011-02-06 14:47:46

标签: php mysql ajax

我有以下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

&GT;:(

2 个答案:

答案 0 :(得分:6)

试试这个

 $firstletter = substr($word, 0, 1);

答案 1 :(得分:2)

我对这个逻辑感到有点困惑:

$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;

第一个只会输出一个不同时间的结果。只要行的字值不为空,第二个示例将输出所有值。