首先,从我过去的项目开始,我建立了一个网站,实际上利用数据库,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等......但是为了以后简化这个项目的介绍,让我们把它放在一边吗?
答案 0 :(得分:3)
如果你的值是一个字符串,它需要用引号括起来才能成为有效的javascript。 json_encode()
可能是执行此操作的最佳方式:
var check = <?php echo json_encode($B) ?>;
如果您知道所有数据都是字符串且不包含撇号/单引号等,您可以手动添加引号。
var check = '<?php echo $B ?>';