php mysql 数据操作问题
求前辈指导!
如图,表里面有2条数据 第一条是在phpMyAdmin插入的,第二条是从php页面插入的
org_name varchar类型 open_time timestamp 类型
php代码如下:
include_once("pay/CommonUtil.php");
include_once dirname(__FILE__).'/db/DbOperation.php';
$db = new DbOperation('z_org');
$org = array(
"org_id" => 2,
"org_name" => "北京市",
"open_time" => time()
);
$db->addObject($org);
$rs = $db->getAll();
var_dump($rs);
?>
问题:
1.从php插入的数据 汉字乱码,时间为0000-00-00 00:00:00
2.查询全表 第一条数据汉字乱码,第二条正常了
array(2) { [0]=> array(3) { ["org_id"]=> string(1) "1" ["org_name"]=> string(3) "???" ["open_time"]=> string(19) "2014-08-23 18:35:18" } [1]=> array(3) { ["org_id"]=> string(1) "2" ["org_name"]=> string(9) "北京市" ["open_time"]=> string(19) "0000-00-00 00:00:00" } }
回复讨论(解决方案)
程序编码是什么?换成和phpmyadmin编码一样的
程序编码是utf-8 ,phpMyAdmin也是utf-8
度娘说 要在获取数据库连接时update (set names utf_8)
我加上后,运行报错 Fatal error: Uncaught exception 'DB_Exception' with message '更新失败:Unknown character set: 'utf''
是
('set names utf8')
不是
(‘set names utf_8')
嗯,用utf8试了,这个问题搞定了
现在剩下timestamp问题:time()函数不行,我试了date("Y-m-d h:i:s")
问题是写入的时间为:
array(3) { ["org_id"]=> string(1) "1" ["org_name"]=> string(9) "上海市" ["open_time"]=> string(19) "2014-08-23 18:35:18" }
array(3) { ["org_id"]=> string(1) "2" ["org_name"]=> string(20) "å??京å¸?" ["open_time"]=> string(19) "0000-00-00 00:00:00" }
array(3) { ["org_id"]=> string(1) "3" ["org_name"]=> string(9) "重庆市" ["open_time"]=> string(19) "0000-00-00 00:00:00" }
array(3) { ["org_id"]=> string(1) "4" ["org_name"]=> string(9) "天津市" ["open_time"]=> string(19) "2014-08-23 12:00:31" }
array(3) { ["org_id"]=> string(1) "5" ["org_name"]=> string(9) "河北省" ["open_time"]=> string(19) "2014-08-23 12:02:34" }
比正常时间慢了8小时,不知道是不是时区的问题,应该怎么设置?
$org = array(
"org_id" => 2,
"org_name" => "北京市",
"open_time" => 'now()'
);
用数据库的时间函数较好
你 date 得到的时间不对,是因为你的树区没有设置好
我在获取数据库连接的地方加上了date_default_timezone_set('PRC');
写入的时间是["open_time"]=> string(19) "2014-08-23 08:11:27" ,貌似不是24小时制了
刚试了你的"open_time" => 'now()' 得到的是["open_time"]=> string(19) "0000-00-00 00:00:00" ,我的写入参数都用addslashes转义过,不知道是不是这个问题
php当中没有now()函数
now() 等价 date("Y-m-d H:i:s" );

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MySQL和phpMyAdmin是强大的数据库管理工具。1)MySQL用于创建数据库和表、执行DML和SQL查询。2)phpMyAdmin提供直观界面进行数据库管理、表结构管理、数据操作和用户权限管理。

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

在MySQL中,外键的作用是建立表与表之间的关系,确保数据的一致性和完整性。外键通过引用完整性检查和级联操作维护数据的有效性,使用时需注意性能优化和避免常见错误。

MySQL和MariaDB的主要区别在于性能、功能和许可证:1.MySQL由Oracle开发,MariaDB是其分支。2.MariaDB在高负载环境中性能可能更好。3.MariaDB提供了更多的存储引擎和功能。4.MySQL采用双重许可证,MariaDB完全开源。选择时应考虑现有基础设施、性能需求、功能需求和许可证成本。

SQL是一种用于管理关系数据库的标准语言,而MySQL是一个使用SQL的数据库管理系统。SQL定义了与数据库交互的方式,包括CRUD操作,而MySQL实现了SQL标准并提供了额外的功能,如存储过程和触发器。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

MySQL适合快速开发和中小型应用,Oracle适合大型企业和高可用性需求。1)MySQL开源、易用,适用于Web应用和中小型企业。2)Oracle功能强大,适合大型企业和政府机构。3)MySQL支持多种存储引擎,Oracle提供丰富的企业级功能。

MySQL和phpMyAdmin可以通过以下步骤进行有效管理:1.创建和删除数据库:在phpMyAdmin中点击几下即可完成。2.管理表:可以创建表、修改结构、添加索引。3.数据操作:支持插入、更新、删除数据和执行SQL查询。4.导入导出数据:支持SQL、CSV、XML等格式。5.优化和监控:使用OPTIMIZETABLE命令优化表,并利用查询分析器和监控工具解决性能问题。
