在页面加载时将变量从PHP传递到jQuery

在页面加载时将变量从PHP传递到jQuery,php,jquery,variables,Php,Jquery,Variables,我试图从url中获取一个引用变量,并在用户首次访问页面时查询我的数据库。 然后我需要将这些结果绘制在谷歌地图上 <?php include('storelocator/db/config.php'); include('storelocator/db/db.php'); if(isset($_GET['ref'])){ $ref = stripslashes($_GET['ref']); $sql = "SELECT *

我试图从url中获取一个引用变量,并在用户首次访问页面时查询我的数据库。 然后我需要将这些结果绘制在谷歌地图上

<?php 
    include('storelocator/db/config.php');
    include('storelocator/db/db.php');  

    if(isset($_GET['ref'])){

        $ref = stripslashes($_GET['ref']);

        $sql = "SELECT * FROM `markers` WHERE `ref` = \"".$_GET['ref']."\"";

        $result = mysql_query($sql);    
        $row = mysql_fetch_row($result);
        print_r($row);
    }
?>

这是我在索引页顶部的代码,它运行良好,打印结果正确。我只是不知道如何将这些结果传递给jQuery进行打印。(我知道如何绘图,我基本上需要知道如何将变量$row['latlng']传递给jQuery。)

谢谢

符合

print_r($row);
付诸表决:

echo';
echo'var latlng=“”.$row['latlng'].“;”;
回声';
这是将数据传递给JavaScript的方法

像这样的

<script type="text/javascript">
var markers = <?php echo json_encode($row) ?>;
</script>
在这里,您应该保护您的查询不受SQL注入的影响。虽然我一直建议使用PDO和参数绑定,但对您来说,一个快速修复方法是

$ref = get_magic_quotes_gpc() ? stripslashes($_GET['ref']) : $_GET['ref'];
$sql = sprintf("SELECT * FROM `markers` WHERE `ref` = '%s'",
               mysql_real_escape_string($ref));

下面的代码将数据传递给javascript变量:“data”

echo "<script>var data='".$row['latlng']."';</script>"
echo“var data=”。$row['latlng']。”;“

+1用于使用json_encode处理特殊字符的转义。感谢您的快速回复。回显变量是有效的,我想知道这是否被认为是不好的做法,因为现在我的页面以一个元素开头。显而易见的答案是在文档中适当的位置进行“回显”是有意义的。干杯,大脑今天显然没有打开
$ref = get_magic_quotes_gpc() ? stripslashes($_GET['ref']) : $_GET['ref'];
$sql = sprintf("SELECT * FROM `markers` WHERE `ref` = '%s'",
               mysql_real_escape_string($ref));
echo "<script>var data='".$row['latlng']."';</script>"