2014-10-29 52 views
-2

我想做一个ajax调用,传递一个整数'mySensor'作为参数。调用的PHP文件包含以下代码:如何从ajax调用返回一个字符串?

<?php 

$con = mysql_connect(...) or die('connection not made'); 
$db = mysql_select_db('...', $con) or die('db not selected'); 

$mySensor = mysql_escape_string($_POST["mySensor"]); 
$query = "SELECT Unit FROM sensors WHERE SensorID = ".$mySensor; 
$result = mysql_query($query, $con) or die('query not made'); 

echo $result; 

?> 

所以,从表中sensors我想要得到的Unit(这是一个字符串)元素与SensorID=mySensor(只有一个这样的元素)。回应$result不起作用。如何将该单元(也是字符串)返回给我的js脚本?

谢谢!

+0

,或者只是香草的JavaScript? – jboneca 2014-10-29 22:35:26

+0

**危险**:您正在使用[an **过时的**数据库API](http://stackoverflow.com/q/12859942/19068),并应使用[现代替换](http:// php。净/手动/ EN/mysqlinfo.api.choosing.php)。你也很容易受到[SQL注入攻击](http://bobby-tables.com/)**('mysql_escape_string'从来就不够充分),现代的API会使[防御](http:自己从。 – Quentin 2014-10-29 22:37:51

+0

@jboneca,他问如何做服务器端的东西。 – 2014-10-29 22:38:05

回答

0

你仍然需要获取该查询即结果:

$result = mysql_query($query, $con) or die('query not made'); 
$array = mysql_fetch_assoc($result); 
echo $array['Unit']; 

另一件事是,mysql_escape_string(),在那里,除非你已经使用该名称声明一个函数,那么它是不是实际mysql_real_escape_string库函数

$mySensor = mysql_real_escape_string($_POST["mySensor"]); 

重要:您正在使用an obsolete database API并应使用现代化的替代品。你也容易受到SQL注入式攻击mysql_escape_string从未足够了),一个现代化的API将您正在使用的库(例如,jQuery的,MooTools的),使其更容易defend自己从

+3

不应该是'echo $ array ['Unit'];'? – developerwjk 2014-10-29 22:40:20

+0

是的,现在修复,谢谢。 – Kypros 2014-10-29 22:42:09

相关问题