2011-02-06 141 views
0

我有PHP的以下块:PHP AJAX和mySQL不返回数据?

$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()输出 - 所有我得到的是零,没有,虚无,拉链,blahblah

> :(

+0

如果你浏览到word-list.php?word = apple? – 2011-02-06 14:50:04

+0

不,我只是得到一个空白的窗口 - 没有来源:( – 2011-02-06 14:53:12

+1

是错误报告? – 2011-02-06 14:54:41

回答

6

试试这个

$firstletter = substr($word, 0, 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; 

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