【发布时间】:2023-03-11 19:49:01
【问题描述】:
在 Javascript 函数中,我有以下 JQuery,我在其中调用 PHP 脚本(即 getDBData.php)从查询中获取数据库数据:
$("#dbcontent").load("getDBData.php", {query: "SELECT * FROM `texts` WHERE name='John' LIMIT 10;"});
在 getDBData 中,我通过 POST 获取此查询:
$query = $_POST['query'];
并将其作为 mysql_query 的输入:
$query = mysql_query($query) or die(mysql_error());
但是,我收到以下 MySQL 错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '\'John\' LIMIT 10' 附近使用正确的语法
这里有什么问题?我猜它在传递查询时与字符编码有关,但似乎没有正确。
【问题讨论】:
-
强制:
mysql_*函数将是 deprecated in PHP 5.5。不建议编写新代码,因为它会在未来被删除。相反,MySQLi 或 PDO 和 be a better PHP Developer。 -
这是一种极其危险的做法。
-
如果我决定将
DELETE * FROM texts查询传递给您的PHP 脚本怎么办?什么会阻止我这样做?你确定你还想mysql_query($query)就可以了吗?我个人不会。 -
可怕,可怕,可怕的想法。
-
重申一下,这是一个糟糕的主意,但它似乎失败了,因为您的报价被转义了。你有魔术引号吗?
标签: php javascript jquery mysql post