附加查询字符串-PHP

Append query string - PHP

本文关键字:-PHP 字符串 查询      更新时间:2024-04-19

我有一个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>";

尝试