数据库中的字符串无法调用Javascript

时间:2017-12-13 22:47:56

标签: javascript php database

首先,从我过去的项目开始,我建立了一个网站,实际上利用数据库,PHP,Javascript和Json(这是解析数据到android)来操纵和显示与android同步的数字

但是......下一个项目,它需要我实际存储和调用数据到数据库。好吧,没什么大不了的,我之前已经做过了,但是当我想调用的数据是一个字符串而不是整数时,这就变得很奇怪。

  

这是调用存储信息的PHP方

<?php
$con=mysqli_connect('localhost','SE_Server','') or die(mysqli_error());  
mysqli_select_db($con, 'seproject') or die("cannot select DB");

$info=mysqli_query($con, "SELECT * FROM fact WHERE factID='2'");

$rowC1 = mysqli_fetch_row($info);

if(!empty($rowC1)) {
    $A = $rowC1[0];
    $B = $rowC1[1];
    $C = $rowC1[2];
}
else {
    $A = $B = $C = 0;
}
mysqli_close($con);
?>
  

备注

     
    

row [0] - &gt; INT; stored_data = 1
        row [1] - &gt; VARCHAR; stored_data = 520
        row [2] - &gt; VARCHAR; stored_data = user1

  

对于我用来调用存储数据的Javascript,如下所示

<div>
    <input class="text-center" name="box">
</div>
<button onclick="test()">Try it</button>

<script>
    var check = <?php echo $B ?>;
    function test() {
        document.getElementsByName('box')[0].value = check;
    }
</script>

每当我调用只包含整数的row [0]或row [1]时,它就可以正常运行,就像我以前的项目一样。但是当涉及包含文本的行[2]时,没有显示任何内容,并且有时间显示&#39; undefined&#39;。

我知道,我可以使用JSON,JQuery等......但是为了以后简化这个项目的介绍,让我们把它放在一边吗?

1 个答案:

答案 0 :(得分:3)

如果你的值是一个字符串,它需要用引号括起来才能成为有效的javascript。 json_encode()可能是执行此操作的最佳方式:

var check = <?php echo json_encode($B) ?>;

如果您知道所有数据都是字符串且不包含撇号/单引号等,您可以手动添加引号。

var check = '<?php echo $B ?>';