2017-07-17 31 views
1

我正在使用jQuery从一个php文件发送零件号码到另一个。 部件号在目标php文件中正确接收,但是当我尝试使用它时,它不起作用。从PHP发送的jQuery数据不是正确的格式?

下面是一个奇怪的事情:当我使用$ mpn = STA-12(或者表2中存在的任何其他值)时,在目标php文件中测试,建立连接并提取相关数据,但是当同样的数据被取出,这是行不通的

这里是目标PHP文件:

<?php 

$row['mpn'] = $_GET['q']; 


include("order/connection.php");  



echo "mpn is here : ".$row['mpn']; // It displays STA-12 but doesn't data get fetched! 

$mpn=$row['mpn']; 


//$mpn="STA-12"; // *** When I actually put this line in, it all works *** 

$stmt = $pd->prepare("SELECT * FROM table2 WHERE part_number = :part_number "); 

//$stmt->execute(array()); 

$stmt->execute(array(':part_number' => $mpn)); 

$row = $stmt->fetch(PDO::FETCH_BOTH); 
//... rest of the code 
?> 

这个jQuery脚本W3复制:

<script> 
function showUser(str) { 
if (str == "") { 
    document.getElementById("txtHint").innerHTML = ""; 
    return; 
} else { 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      document.getElementById("txtHint").innerHTML = this.responseText; 
     } 
    }; 
    xmlhttp.open("GET","serv.reply3.3.php?q="+str,true); 
    xmlhttp.send(); 
} 
} 

而这正是它被称为来自:

<form> 
<select name="users" onchange="showUser(this.value)"> 
<option value="">Choose</option> 
<option value=" <?php echo $row["mpn"]; ?> ">items</option> 

</select> 
</form> 
+2

'table2 =:part_number'?表格如何等于一个值? –

+0

很可能你会得到一个sql错误,试试'print_r($ stmt)'或打开PDO异常。 –

+2

'ON table2 = mcart.mpn'也是一个错误的连接 –

回答

0

的问题终于解决了。 由于代码是从另一个示例复制的,所以发送的jQuery变量包含一些额外的信息,当ECHO没有显示时。

echo“mpn is here:”。$ row ['mpn'];显示STA-12,实际上包含'string(6)“STA-12”',这是通过执行发现的: var_dump($ row ['mpn'])。 这让我的脑袋挠了好几天。

相关问题