gpt4 book ai didi

php - 使用 PHP 和 MySQL 获取包含特殊字符的 "text"列的数据

转载 作者:行者123 更新时间:2023-11-30 01:34:23 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,它的一个表 (theTable) 上有此定义

CREATE  TABLE `theDatabase`.`theTable` (
`id` INT NOT NULL AUTO_INCREMENT ,
`thecolumn` TEXT NOT NULL ,
PRIMARY KEY (`id`) );

我正在尝试使用 PHP:

/*File executeSelect.php*/
mysql_connect("theServer","theUser","thePassword") or die(mysql_error());
mysql_select_db("theDatabase") or die (mysql_error());
$q = mysql_query($_REQUEST['query']);
while($e = mysql_fetch_assoc($q))
$output[] = $e;
print(json_encode($output));
mysql_close();

如果我执行 executeSelect.php?query=select * from theTable,则 thecolumn 列显示的信息为 NULL 如果 thecolumn 有特殊字符。我将thecolumn定义为text,因为我需要在上面存储大文本(500~1000个字母)。

例如,theTable 中的 executeSelect.php?query=select * from theTableid=1;thecolumn=asdf 可以正常工作,但在 theTable 中使用 id=1;thecolumn=ásdf 执行相同的executeSelect 会为 thecolumn 提供 NULL

我尝试使用 MySQL 控制台执行相同的查询,并且运行正常。我正在使用 Apache 2.4 和 PHP 5.3。

我在这里错过了什么,我的 php 代码没有以正确的方式从 MySQL 的 text 列检索数据?

最佳答案

我强烈建议不要这样做,因为这种方法很容易受到 SQL 注入(inject)攻击

关于php - 使用 PHP 和 MySQL 获取包含特殊字符的 "text"列的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com