我有一个php变量
$query="insert into msnowplaying values";
然后,我想附加一个查询字符串
$q1="('1', '$selMovieTitle1', 'ST001', '1', '' )";
$query.=$q1;
echo "<script type='text/javascript'>alert('$query');</script>";
然而,警报没有显示任何内容。不知怎么的,控制台上出现了一个错误:
[10:12:06.851] SyntaxError: missing ) after argument list @ http://localhost:1234/2013_12_2/controller/doaddNowPlaying.php:1
我错过了什么?我已将$q1
更改为" a"
,并且警报显示insert into msnowplaying values a
我不知道发生了什么事,我真的需要一些帮助。谢谢
请记住,PHP在HTML到达查看器之前在服务器上解析,javascript在用户收到HTML之后在浏览器中解析。
您发送给用户的内容是由php编写到数据中的,就像您手工编写一样,包括以后可能被解释为javascript代码的任何内容。
当你将$query
回显到浏览器时,你很可能会得到这样的结果:
<script type='text/javascript'>alert('('1', '$selMovieTitle1', 'ST001', '1', '' )');</script>
你知道这是如何无效的javascript吗?您在alert('..')
中使用了无标题的单引号。首先,如果您想在javascript中看到正确的字符串,请尝试以下操作:
echo '<script type="text/javascript">alert("'.addslashes($query).'");</script>';
这里我们使用函数CCD_ 6(http://php.net/addslashes)以适当地转义引号。
$query = "insert into msnowplaying values";
$query .= "('1', '$selMovieTitle1', 'ST001', '1', '' )";
$query = addslashes($query);
echo "<script type='text/javascript'>alert('$query');</script>";
尝试