我有一个 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();
如果我执行 a executeSelect.php?query=select * from theTable
,则为该列显示的信息thecolumn
是NULL
是否thecolumn
有特殊字符。我thecolumn
定义为text
因为我需要在上面存储大文本(500~1000 个字母)。
例如, a executeSelect.php?query=select * from theTable
with id=1;thecolumn=asdf
intheTable
可以正常工作,但与id=1;thecolumn=ásdf
in相同的 executeSelecttheTable
给出NULL
for thecolumn
。
我尝试使用 MySQL 控制台执行相同的查询,它工作正常。我正在使用 Apache 2.4 和 PHP 5.3。
我在这里错过了什么,我的 php 代码没有text
以正确的方式从 MySQL 的列中检索数据?