mysql 为何在代码中查不出数据,同样的语句客户端可以呢?

今天把数据导入到mysql 数据库,然后网站提起来,发现数据拿不到,也不报错。看样子就是数据为空?不应该呀,仔细调试到sql 语句,发现正确,将sql 语句粘贴到客户端,执行正确。奇怪~

然后问题出现了。为毛?

哦,sql 语句的 where 条件中有中文,就这么简单。

为毛中文不行,因为编码不一样,将mysql 断掉,然后修改 my.ini 将编码设置成通用的UTF8。问题解决。

时间: 2024-10-07 15:51:27

mysql 为何在代码中查不出数据,同样的语句客户端可以呢?的相关文章

如何从业务代码中抽离出可复用的微组件

背景 很多业务代码,掺杂着一些通用的大段逻辑:容易导致的后果是,当需要类似功能时,不得不重新写一道,或者复制出几乎相同的代码块,让系统的无序性蹭蹭蹭往上涨. 具有良好抽象思维的有心的开发者,则会仔细观察到这种现象,将这些通用的大块逻辑抽离出来,做成一个可复用的微组件,使得以后再做类似的事情,只需要付出很小的工作即可. 那么,如何从业务代码中抽离出可复用的微组件,使得一类事情只需要做一次,今后可以反复地复用呢? 本文将以一个例子来说明. 在业务开发中,常常需要根据一批 id 查到相对应的 name

[转]mysql 从一个表中查数据并插入另一个表实现方法

不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段. 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中.此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 . 类别一. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源

oracle向in语句传入参数查不出数据

在oracle字符串中使用了in,但是查不出数据 1 string getModel = "select * from TB_YBSH where ID in :ids"; 2 OracleParameter p = new OracleParameter("ids", ids); 3 DataTable dt = DbHelperOra.ExecuteTable(getModel,p); 直接拼接就可以 string getModel = "select

如何在SQL中处理层次型数据

最近在做公司的认证系统,看了开源项目如apache shiro跟spring security,还不知道是自己构建还是用上述代码.最近的考虑点是如何处理层次型数据,因为打算给user构造一个有层次的group,而且是n:m的,这篇文章虽然不能帮助我解决这个问题,但是作为一个基础文章,算是很扎实的了,所以自己翻译了一下. 原文链接 介绍 多数使用者都会与sql的层次型数据打一次或多次交道,并明确地领悟到层次型数据的处理并不是关系型数据库的目标.关系型数据库的表格不是层次型(例如xml),而是一个简

ci框架中session闪出数据flash

CodeIgniter 支持 "闪出数据", 或者说Session数据只对下次服务器请求可用, 然后会自动清除.这应该会非常有用,往往应用在信息或状态提示中(例如:"记录2已删除"). 比如,文章列表页删除某条记录后,提示"记录2已删除".或者编辑文章时保存后提示"文章修改成功"或"修改失败,参数错误"等. 代码中主要技巧:在session的键值对中,给键名加了"new"或"o

#MySQL# 从一个表中查数据,插入另一个表

1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:  INSERT INTO 目标表 SELECT * FROM 来源表;    例如: insert into t_a  select * from t_b ; 2.如果只希望导入指定字段,可以用这种方法: INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(相对应字段的类型必须保持一致) 例如:insert into t_a  ( name, age ) s

如何在PSD中准确切出图片

步骤如下: 1.Ctrl+alt+鼠标滚轮 放大图片,按住H键拖动图片选取位置: 2.选择“移动工具” (勾选“自动选择”,“图层”): 3.选中后,选择图层,右击,选择“转换为智能对象”: 4.使用“选框工具”框选住图层:Ctrl+C复制,Ctrl+N新建点击确定: 5.这个时候Ctrl+V就能直接将刚刚选取到的图层复制过来: 6.选择“存储为web所用格式”,存储为“PNG-24”,“仅为图像”,存储到目录文件夹即可.

如何在 PHP 中处理 Protocol Buffers 数据

Protocol Buffers是谷歌定义的一种跨语言.跨平台.可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高.感兴趣的可以访问这里.Protocol Buffers官方只支持C++, Java, Python, C#, Go,如果想在PHP中使用Protocol Buffers,需要借助于第三方的扩展,使用方法如下. 安装protoc编译器 第一步,安装Google的protoc编译器,这个工具可以把pr

mysql 通过慢查询日志查写得慢的sql语句

MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL . 慢查询日志在查询结束以后才记录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用show processlist命令查看当前MySQL在进行的线程,包括线程的状态.是否锁表等,可以实时地查看SQ