各位大虾:JavaBean查询mysql产生的问题:You have an error in your SQL syntax

问题描述

今天我刚写一个小小的webproject学习Mysql的条件查询。 结果出来这样的错误。 出错提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='abc'' at line 1。 (其中‘abc’是我执行查询时输入的数据),我想问题应该出在图二所示的代码里,但不知怎么更正。 运行环境:MyEclipse7+tomcat6+jdk5+mysql5。图1:index页面 图二:part_result(从index页面得到参数查询数据库) 图三:BD_result(取得查询结果给servlet)  图四:QyeryDB_servlet将查询参数传给JavaBean和从javabean里面的到数据库返回结果,转发回index

解决方案

这个其实很简单啊!你吧 select * from test_db where sql_type=sql_type_value这句sql 打印出来 一看就知道 是什么问题!sql_type 要么乱码要么为空 !! 试试看! 最后 建议!如果是练习这么写可以! 项目里面最后别这么干!参数直接到sql 语句里面是不合理或者危险的!
解决方案二:
用PreparedStatement类的set参数的方式去做,这样也安全。
解决方案三:
楼上正解
解决方案四:
提示的错误信息是SQL语法有错误,问题应该在这个地方:String sql = "select * from test_db where"+sql_type + "='" + sql_typeValue + "'";,关键字where后面少了个空格,导致where和参数sql_type的值连在了一起,出现语法错误,修改成如下语句就可以了:String sql = "select * from test_db where "+sql_type + " = '" + sql_typeValue + "'";。

时间: 2024-07-29 06:42:09

各位大虾:JavaBean查询mysql产生的问题:You have an error in your SQL syntax的相关文章

mysqldump:mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual t13.mysqldump:mysql

1.备份mysql数据库时候出错,导出数据: [root@localhost ~]# mysqldump -uroot -p mysql >/root/bck.sql Enter password: mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQ

用javabean连接mysql

问题描述 bean的使用一直不行,希望大家给我看一下我的测试jsp哪些地方不对!!javabean如下:名是DBClass.javapackagebean;importjava.io.*;importjava.util.*;importjava.sql.*;publicclassDBClass{privateStringdriver;privateStringurl;privateStringusername;privateStringpassword;privateConnectionconn

PHP 分析查询MySQL大量数据的内存占用情况

这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及.   昨天, 有同事在PHP讨论群(276167802 验证:csl,有兴趣的话可以加入进来一起讨论)里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? -   [php]   while ($row = mysql_f

PHP查询MySQL大量数据的内存

这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? - while ($row = mysql_fetch_assoc($result)) { // - } 当然, 这种问题有许多优化的方法

PHP查询MySQL大量数据的内存占用分析

  这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? - while ($row = mysql_fetch_assoc($result)) { // ... }  当然, 这种问题有许多

php查询mysql数据库并将结果保存到数组的方法

 这篇文章主要介绍了php查询mysql数据库并将结果保存到数组的方法,实例分析了php使用mysql_fetch_assoc查询数据库的技巧,需要的朋友可以参考下     本文实例讲述了php查询mysql数据库并将结果保存到数组的方法.分享给大家供大家参考.具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下: ? 1 array mysql_fetch_assoc (resource $Result_Set) 范例代码如下: ?

PHP查询MySQL数据库的完整代码

 PHP 查询MySQL数据库的完整代码,使用时请注意修改连接语句中的用户名与密码. <?php  $link = mysql_connect('localhost', 'root', '123456')  //烈火提示:请先修改用户名与密码 or die('Could not connect: ' . mysql_error());  mysql_select_db('ruida') or die('Could not select database');  // 执行 SQL 查询  $qu

php查询mysql 多条件判断输出展示

  php查询mysql 多条件判断输出显示 背景: 从mysql查询各字段值输出并且按照条件用红色字体显示满足条件字段值. 条件: 1.syntime小于当前前一周时间的话显示红色. 2.A字段为"无"的话,显示红色. 3.B字段为"无"的话,显示红色. 图一数据库结构: 图二数据库各字段值: 我的代码:(我只满足了第一个条件,其余两个条件不知道该怎么来写) $sql = "select username, onoff, intime, syntime,

hql-HQL中使用占位符查询mysql数据老是报错...

问题描述 HQL中使用占位符查询mysql数据老是报错... 执行语句如下: Session session = HibernateUtil.getSession(); String hql = "from Category where name=?"; Query query = session.createQuery(hql); query.setString(0, "饮品"); 错误: ava.lang.NoSuchMethodError: org.hiber