mysql判断查询结果是否存在,存在输出1不存在输出0
 IF EXISTS (SELECT * FROM table WHERE condition) SELECT '1' ELSE SELECT '0';

类似这种语义,mysql中可以实现吗

4个回答

IFNULL(a,b) 如果a不是NULL IFNULL()返回a,否则它返回b
或者

set @c = (SELECT count(*) as c FROM table WHERE condition)
if(@c>0) then
set @r = 1;
else
set @r = 0;
end if;
不知道是不是你想要的效果


case when…… then ……else…… end

按照需求来看SELECT count(*) as c FROM table WHERE condition 获取到满足条件的个数不就好了,大于0就代表有数据

select (case when (select count(1) from table WHERE condition) >0 when "select 1" else "select 0" end) from dual;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mysql 怎样在存储过程中实现逐条判断输出结果
create procedure tt() begin if exists(select x.a from t1 x where x.a='a1' limit 1) then if exists(select y.b from t1 y where y.b='b2' limit 1) then if exists(select z.c from t1 z where z.c='c3' limit 1) then if exists(select n.d from t1 n where n.d='d4' limit 1) then select x.a,y.b,z.c,n.d from t1 x,t1 y,t1 z,t1 n; end if; end if; end if; end if; end 然后我自己写了一下 出来结果是一个笛卡尔积 判断语句跟没加一样 怎么正确写一下啊 大概就是一张表四个字段 ABCD 然后各自有四个值 a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d1 d2 d3 d4 q请教一下怎样实现判断A 是否为a1 如果是a1 然后a1与b2关联 B字段就是b2 如果B字段是b2然后判断一下C字段是否是c3 如果是c3那么D字段就是d4 最后输出结果是a1b2c3d4 我知道可以吧t1表虚拟成四张表然后做一个关联 限定一下ABCD的值也可以求出来a1b2c3d4但是与要求用的方法不一样 有没有大佬看看这个功能怎么实现 谢谢了![图片说明](https://img-ask.csdn.net/upload/201807/31/1533030512_102194.png)
.bat批处理执行sql脚本后(MySQL),怎么根据执行成功与否输出不同提示?
.bat中运行完对MySQL的升级脚本后,怎样获取MySQL的返回结果并判断是否成功,以此输出不同的提示信息? ![图片说明](https://img-ask.csdn.net/upload/201912/10/1575976495_782426.png)![图片说明](https://img-ask.csdn.net/upload/201912/10/1575976592_656370.png)
php查找MySQL中的数据,如何全部输出?
php查找MySQL中的数据条目,如果数据有多条,如何全部输出?用for循环可否,如果可以,如何判断获取到的数据长度?
Mysql存储过程中怎么判断传入参数与自定义字符串的值相等(新人求助)
CREATE DEFINER=`root`@`localhost` PROCEDURE `kkk`(biaoshi varchar(10)) BEGIN set @count="1"; if(biaoshi.equals(@count)) then select 2; else select 1; end if; END 系统报错 :21:52:28 call kkk('1') Error Code: 1305. FUNCTION biaoshi.equals does not exist 0.000 sec @count为自定义的字符串 biaoshi为传入的字符串 目的:怎么判断@count与biaoshi是否相等后输出2 不相等后 输出1
conn.close();关闭资源后,执行只输出数据库的第一行?
while(rs.next()) ,后面不关闭资源本来是输出全部数据库内容的, conn.close();关闭资源后,执行结果却只输出数据库的第一行,怎么解决关闭资源后只输出一行的问题?谢谢 while(rs.next()) {//把光标移动到下一行,并且判断下一行是否存在 int id = rs.getInt(1);//通过编号获取该列的值 String name = rs.getString("name");//通过列名称来获取该列的值 int age = rs.getInt("age"); System.out.println(id+","+name+","+age); /*四.关闭资源,释放资源 *倒关 * 必须关闭资源 * 先得到的对象后关闭,后得到的对象先关闭 */ rs.close(); st.close(); con.close();//必须关闭资源,不关就死! } } }![图片说明](https://img-ask.csdn.net/upload/201912/11/1576074217_31474.png)![图片说明](https://img-ask.csdn.net/upload/201912/11/1576074233_796767.png)
求思路..想做个学生考勤怎么建表呢?年份怎么判断.输出时只想输出1个月 或者3个月,怎么指定输出哪个月呢?
求个思路..想做个学生考勤怎么建表呢? 前端怎么知道,是2018年12月的考勤还是2019年的呢? 关联到另一张结算费用的表.输出时只想输出1个月 或者3个月的考勤,怎么指定输出哪个月呢? 之间怎么关联表呢?表达有点混乱...
使用if、elseif及else,不进判断直接输出else里的,是数据库表头类型问题还是语句错误?
<br/> <br/> 使用if、elseif及else,不进判断直接输出else里的,是数据库表头类型问题还是语句错误? <br/> <br/> 希望各位能给予帮助! <br/> <br/> ## **以下是语句:** <br/> <br/> ``` $sql="select * from `shipin` where id =".$zyid; $result=mysql_query($sql,$conn); $shipin=mysql_fetch_array($result); $sql="select * from `peizhi` where id =1"; $user=queryall(user,$type); $peizhi=queryall(peizhi,"where id='1'"); $totalMoney=$ubomoney; if($peizhi[al]>0){ if(($peizhi[al]=="1")or($user[al]=="1")){ if($shipin){ $shipin=queryall(shipin,"where id='$zyid'"); if(intval($shipin[al])){ $totalMoney=$shipin[al];//金额 自定义 } } }elseif(($peizhi[al]=="2")or($user[al]=="2")){ $shipin=queryall(shipin,"where id='$zyid'"); if($shipin['is_lei']==1){ $totalMoney=$ubomoney*100;//金额 百倍 } } }else{ $shipin=queryall(shipin,"where id='$zyid'"); $totalMoney=$ubomoney;//正常 } ``` <br/> <br/> _$peizhi[al]是总开关,设置0/1/2分别为正常、自定义、百倍。 <br/> $user[al]是单独控制开关,设置0/1/2分别为正常、自定义、百倍。_ <br/> <br/> 执行的话不走if($peizhi[al]>0 里的判断··而是直接走else的。怎么破? <br/> <br/> ## **以下数据库详情:** <br/> <br/> peizhi表: ![peizhi表](https://img-ask.csdn.net/upload/201901/31/1548944378_863268.jpg) <br/> <br/> shipin表: ![shipin表](https://img-ask.csdn.net/upload/201901/31/1548944431_109324.jpg) <br/> <br/> user表: ![user表](https://img-ask.csdn.net/upload/201901/31/1548944641_884646.jpg)
在并发下,Spring已经提交事务,并且释放JDBC连接后,新的事务无法查询到之前事务添加的数据
############这里创建了一个事务 35ea154e 2020-01-11 11:13:47.834 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Creating new transaction with name [com.framework.code.service.report.RPatientService.registerPS]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT 2020-01-11 11:13:47.836 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Acquired Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] for JDBC transaction ########切换JDBC事务并且交给Spring管理 2020-01-11 11:13:47.837 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Switching JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] to manual commit ############参与当前的事务 35ea154e 2020-01-11 11:13:47.837 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Participating in existing transaction 2020-01-11 11:13:47.838 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RUserMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] #######通过openid查询用户 2020-01-11 11:13:47.838 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RUserMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, VxHeadUrl_, VxNickName_, VxSex_, VxOpenid_, VxProvince_, VxCity_, VxCountry_, Type_, PromotionSource_ from r_user WHERE ( VxOpenid_ = ? ) 2020-01-11 11:13:47.839 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RUserMapper.selectByExample | ==> Parameters: oMGuv5uRcp03ycIgyjclwpZfr1Eg(String) ##########使用当前事务35ea154e 2020-01-11 11:13:47.842 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] #######根据用户Id查询患者信息 2020-01-11 11:13:47.842 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, RUserId_, RegisterTime_, Name_, Phone_, CardNo_, Age_, Illness_, Irritability_, Inheritance_, IsBindFinished_, Sex_, VxHeadUrl_, PfksShopUserId_ from r_patient WHERE ( RUserId_ = ? ) 2020-01-11 11:13:47.843 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ==> Parameters: 458690345937539120(Long) #############这里表示使用AOP调用其他的事务,判断当前有事务,那么默认直接使用当前事务 2020-01-11 11:13:47.844 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Participating in existing transaction ############继续使用当前事务 35ea154e 2020-01-11 11:13:47.845 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RDoctorMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] #######通过医生Id查询医生信息 2020-01-11 11:13:47.845 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RDoctorMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, RUserId_, Name_, NamePY_, RHospitalId_, RDepartmentId_, PositionCode_, Phone_, RegisterTime_, CheckStatus_, CheckTime_, CheckUserName_, CheckRemark_, Speciality_, Profile_, VxHeadUrl_, Dtype_, PfksShopUserId_, RDocCareType_ from r_doctor WHERE ( Id_ = ? ) 2020-01-11 11:13:47.846 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.doctor.RDoctorMapper.selectByExample | ==> Parameters: 463413442003472478(Long) #############再次使用AOP调用其他的事务,判断当前有事务,那么默认使用当前事务 2020-01-11 11:13:47.849 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Participating in existing transaction #########继续使用当前事务 35ea154e 2020-01-11 11:13:47.851 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] #########通过医生ID和患者的ID查询医患报道表的信息 2020-01-11 11:13:47.852 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, RPatientId_, RDoctorId_, CreateTime_, IMSessionId_, IllnessName_, RDoctorNameRemark_, RPatientNameRemark_ from r_report WHERE ( RDoctorId_ = ? and RPatientId_ = ? ) 2020-01-11 11:13:47.853 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.selectByExample | ==> Parameters: 463413442003472478(Long), 458690345958510641(Long) ##############继续使用当前事务 35ea154e 2020-01-11 11:13:47.854 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.insert | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] #############添加医患报道表的一条记录 患者ID=458690345958510641 IMSessionId_是null ,这里添加的数据在下面的事务中查询不到,等我到数据去查询却能查询到结果 2020-01-11 11:13:47.857 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.insert | ==> Preparing: insert into r_report (Id_, RPatientId_, RDoctorId_, CreateTime_, IMSessionId_, IllnessName_, RDoctorNameRemark_, RPatientNameRemark_) values (?, ?, ?, ?, ?, ?, ?, ?) 2020-01-11 11:13:47.858 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.mapper.report.RReportMapper.insert | ==> Parameters: 481834561777569793(Long), 458690345958510641(Long), 463413442003472478(Long), 2020-01-11 11:13:47.853(Timestamp), null, null, null, null ###########这里输出的日志 2020-01-11 11:13:47.861 | myHost | INFO | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | com.framework.code.service.report.RReportService | new report generate:{"id":481834561777569793,"rpatientid":458690345958510641,"rdoctorid":463413442003472478,"createtime":1578712427853,"imsessionid":null,"illnessname":null,"rdoctornameremark":null,"rpatientnameremark":null} ########提交启动的事务 2020-01-11 11:13:47.861 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Initiating transaction commit #########这里我们新创建一个新的事务 7fb1091a 2020-01-11 11:13:47.861 | myHost | DEBUG | pool-1-thread-7 | [] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Creating new transaction with name [com.framework.code.service.report.RPatientService.registerEvent]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT ########之前线程的事务进行提交 2020-01-11 11:13:47.861 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Committing JDBC transaction on Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] ################这里是我们新的事务 7fb1091a 2020-01-11 11:13:47.862 | myHost | DEBUG | pool-1-thread-7 | [] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Acquired Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] for JDBC transaction 2020-01-11 11:13:47.862 | myHost | DEBUG | pool-1-thread-7 | [] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Switching JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] to manual commit ######这里是日志输出 2020-01-11 11:13:47.862 | myHost | INFO | pool-1-thread-7 | [] | com.framework.code.service.report.RPatientService | [PatientEvent]:{"rUserId":458690345937539120,"rDoctorId":463413442003472478} ##########使用当前事务 2020-01-11 11:13:47.862 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.doctor.RUserMapper.selectByPrimaryKey | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] ##########通过用户Id查询用户信息 2020-01-11 11:13:47.862 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.doctor.RUserMapper.selectByPrimaryKey | ==> Preparing: select Id_, VxHeadUrl_, VxNickName_, VxSex_, VxOpenid_, VxProvince_, VxCity_, VxCountry_, Type_, PromotionSource_ from r_user where Id_ = ? 2020-01-11 11:13:47.863 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.doctor.RUserMapper.selectByPrimaryKey | ==> Parameters: 458690345937539120(Long) ######之前的线程释放JDBC连接 2020-01-11 11:13:47.867 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Releasing JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5c225ae5 [wrapping: com.mysql.jdbc.JDBC4Connection@35ea154e]] after transaction 2020-01-11 11:13:47.867 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.jdbc.datasource.DataSourceUtils | Returning JDBC Connection to DataSource 2020-01-11 11:13:47.867 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.web.servlet.DispatcherServlet | Completed 200 OK 2020-01-11 11:13:47.867 | myHost | INFO | pool-1-thread-8 | [] | com.framework.web.eventbus.LogSubscribe | [LogSubscribe]:{"threadName":"http-nio-8081-exec-10","className":"com.framework.code.controller.webchat.WeChartController","methodName":"receiveEvent","argsMap":{"request":"ServletRequest","response":"ServletResponse"},"argsJson":"{\"request\":\"ServletRequest\",\"response\":\"ServletResponse\"}","happenTime":1578712427867,"throwable":null,"throwableString":null,"traceId":"436ed24f998d411ab5150b1258b22cd0","result":null,"useTime":33} 2020-01-11 11:13:47.867 | myHost | DEBUG | http-nio-8081-exec-10 | [436ed24f998d411ab5150b1258b22cd0] | org.springframework.session.web.http.SessionRepositoryFilter.SESSION_LOGGER | No session found by id: Caching result for getSession(false) for this HttpServletRequest. ########使用当前事务 7fb1091a 2020-01-11 11:13:47.867 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] ###通过用户ID查询患者信息 2020-01-11 11:13:47.867 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, RUserId_, RegisterTime_, Name_, Phone_, CardNo_, Age_, Illness_, Irritability_, Inheritance_, IsBindFinished_, Sex_, VxHeadUrl_, PfksShopUserId_ from r_patient WHERE ( RUserId_ = ? ) 2020-01-11 11:13:47.869 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByExample | ==> Parameters: 458690345937539120(Long) ##########使用AOP调用其他的事务,判断当前有事务,那么默认使用当前事务 7fb1091a 2020-01-11 11:13:47.870 | myHost | DEBUG | pool-1-thread-7 | [] | org.springframework.jdbc.datasource.DataSourceTransactionManager | Participating in existing transaction 2020-01-11 11:13:47.876 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByPrimaryKey | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] ######通过用户ID查询患者信息 2020-01-11 11:13:47.876 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByPrimaryKey | ==> Preparing: select Id_, RUserId_, RegisterTime_, Name_, Phone_, CardNo_, Age_, Illness_, Irritability_, Inheritance_, IsBindFinished_, Sex_, VxHeadUrl_, PfksShopUserId_ from r_patient where Id_ = ? 2020-01-11 11:13:47.876 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RPatientMapper.selectByPrimaryKey | ==> Parameters: 458690345958510641(Long) ##########使用当前事务 7fb1091a 2020-01-11 11:13:47.878 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RReportMapper.selectByExample | ooo Using Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@75935acf [wrapping: com.mysql.jdbc.JDBC4Connection@7fb1091a]] ##########通过患者ID查询患者报道信息表 458690345958510641 2020-01-11 11:13:47.878 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RReportMapper.selectByExample | ==> Preparing: select 'true' as QUERYID, Id_, RPatientId_, RDoctorId_, CreateTime_, IMSessionId_, IllnessName_, RDoctorNameRemark_, RPatientNameRemark_ from r_report WHERE ( RPatientId_ = ? and IMSessionId_ is null ) 2020-01-11 11:13:47.878 | myHost | DEBUG | pool-1-thread-7 | [] | com.framework.code.mapper.report.RReportMapper.selectByExample | ==> Parameters: 458690345958510641(Long) ########输出查询结果 2020-01-11 11:13:47.879 | myHost | INFO | pool-1-thread-7 | [] | com.framework.code.service.report.RReportService | 查询隐患报道关系.数量只能有一条:0记录信息=[] 这里查询到结果是0个,说明之前的数据并没有落入DB中???这是因为spring提交事务后落入DB还有时间嘛,操作了这样的时间差。
PHP连接mysql出现问题
# PHP代码无法正常执行 刚刚学会一些php和mysql,想自己做一个php连接服务器然后从服务器的mysql中读取表格,最后输出到html的demo。 但是现在无法达到预期效果,感觉html压根就没有解析php。也不知道是不是服务器配置的问题。 ####关于demo的一些信息{ 0.文件为php后缀; 1.mysql在localhost可以正常使用下面的账号登陆以及访问; 2.下面使用的账号在使用远程连接mysql的软件的时候可以正常select table; 3.php是7.0; 4.phpinfo()中可以看到mysqli; 5.服务器是阿里云的; 6.os是ubuntu; 7.非常希望能帮帮我; } ###下面是我完整的代码 ``` <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> body{ border: 0px; margin: 0px; background-color:#808080; } </style> </head> <body> <?php $connect=mysqli_connect("localhost","conuser","conuser123","anime");#mysqli连接。不知道第一项应该是填ip地址还是‘localhost’。但是都试过。 if (mysqli_connect_errno($connect)){ die("error". mysql_connect_error());#判断连接是否成功 }else{ $sql="select * from anime"; #sql语句 $result=mysqli_query($connect,$sql); if($result){#如果成功执行sql则循环输出table信息 while($newArray=mysqli_fetch_array($result,MYSQL_ASSOC)) { $animename=$newArray['anime_name']; $animetype=$newArray['anime_type']; $inserttime=$newArray['insert_date']; echo "The anime is".$animename."it include".$animetype."type".".It is inserted at".$inserttime."<br/>"; } }else{ printf("cannot connect database"); } mysqli_free_result($result); mysqli_close($connect); #close } ?> </body> </html> ```
新人求解java连接mysql,向数据库添加数据,出错
package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; public class test{ public static void main(String[] args)throws Exception { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/test"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "2443243838"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 判断 数据库连接是否为空 Statement st=conn.createStatement(); Scanner scanner = new Scanner(System.in); System.out.println("1,数据注册\t"); System.out.println("2,登录\t"); System.out.println("请输入你要做的操作:\t"); int n= scanner.nextInt(); if(n==1){ // 输出连接信息 System.out.println("请输入用户名字:"); String username1 = scanner.next(); System.out.println("请输入密码:"); String password1 = scanner.next(); String sql="select * from user where username='"+username1+"'"; ResultSet ra= st.executeQuery(sql); if(ra.next()){ System.out.println("用户已存在"); }else{ sql="insert into user values=('"+username1+"','"+password1+"')"; int i=st.executeUpdate(sql); if(i!=0){ System.out.println("添加成功"); }else{ System.out.println("添加失败"); } } // 关闭数据库连接 }else if(n==2){ }else{ // 输出连接信息 System.out.println("数据库连接失败!"); } } } 1,数据注册 2,登录 请输入你要做的操作: 1 请输入用户名字: 刘备 请输入密码: 123456 Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 '=('刘备','123456')' at line 1 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2728) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1811) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1725) at test.test.main(test.java:43)
MYSQL数据库中修改my.ini自动选择默认字符集。
如图所示: ![图片说明](https://img-ask.csdn.net/upload/201802/04/1517751557_381317.jpg) MYSQL的my.ini文件中需要默认使用的字符集,有没有一种在只修改my.ini的默认字符集情况下,让mysql对输出文件做以判断,如果包含中文,就使用GBK; 又或者使用UTF8的呢? 各位大佬快显灵。。。
如何判断22点-24点之间加5分钟,凌晨1点到2点加5分钟,其余时间是加10分钟?要显示2019-11-21 22:00:00
$drawTime=date('Y-m-d H:i:s',$row["time"]+600); 这段代码如何判断22点-24点之间加5分钟,凌晨1点到2点加5分钟,其余时间是加10分钟? 不要转换时间的,要显示2019-11-21 22:00:00 $servername = "localhost"; $username = "qxc"; $password = "123456"; $dbname = "qxc"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $sql = "SELECT * FROM qxc.jz_data where type='6' order by number desc LIMIT 1"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { $number=$row["number"]; $data=$row["data"]; $arr=$row["data"]; $num1=$arr[0]+$arr[2]+$arr[4]+$arr[6]+$arr[8]; $time=date('Y-m-d H:i:s',$row["time"]); $drawTime=date('Y-m-d H:i:s',$row["time"]+300); $serverTime=date('Y-m-d H:i:s'); $drawCount=intval(substr($number,-3)); } } else { } $conn->close();
JDBC工具类连接时的问题
在我使用JDBC连接数据库的时候总是报NoClassDefFoundError错误,我在经过多次百度无果后。决定向各位大佬请教一下。 * 错误的具体原因为: Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class cn.itcast.jdbc.JDBCUtils # JDBCDome /** *通过键盘录入用户和密码 * 判断用户是否登录成功 */ public class jdbcDemo9 { public static void main(String[] args) { //1.键盘录入,接受用户名和密码 Scanner sc = new Scanner(System.in); System.out.println("请输入用户名"); String username = sc.nextLine(); System.out.println("请输入密码"); String password = sc.nextLine(); //2.调用方法 boolean flag = new jdbcDemo9().login(username,password); //3.判断结果输出不同语句 if (flag){ System.out.println("登录成功"); }else { System.out.println("用户名或密码错误"); } } /** * 登录方法 */ public boolean login(String username,String password){ if (username==null || password==null){ return false; } Connection conn = null; Statement stmt = null; ResultSet rs =null; //连接数据库判断是否登录成功 try { conn = JDBCUtils.getConnection();//在这里debug的时候显示conn=null //2定义sql String sql = "select * from user where username = '"+username+"' and password = '"+password+"'"; //3获取执行sql的对象 stmt = conn.createStatement(); //4执行查询 rs = stmt.executeQuery(sql); //5.判断 return rs.next(); //如果有下一行,返回true } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtils.close(rs,stmt,conn); } return false; } } ## JDBCUtils ``` /** * JDBC工具类 */ //工具类的方法应该都是静态的,这样方便我们去调用 public class JDBCUtils { private static String url; private static String user ; private static String password; private static String driver; /** * 文件的读取,只需要读取一次就可以拿到值:使用静态代码块 */ static { //获取资源文件,获取值 try { //1、Propertits集合类 Properties pro = new Properties(); //获取src路径下的文件的方式:ClassLoader 类加载器 ,要获取Classlodar,要获取他对应的字节码文件 ClassLoader classLoader = JDBCUtils.class.getClassLoader(); URL resource = classLoader.getResource("jdbc.propertits"); String path = resource.getPath(); //返回字符串路径 //System.out.println(path); //2加载文件 pro.load(new FileReader(path)); //3获取属性,赋值 url = pro.getProperty("url"); user = pro.getProperty("user"); password = pro.getProperty("password"); driver = pro.getProperty("driver"); //注册驱动 Class.forName(driver); //之前写的是:com.mysql.cj.jdbc.Driver } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 获取连接 * @return 连接对象释放资源 */ public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url,user,password); } /** * 释放资源 * @param stmt * @param conn */ public static void close(ResultSet rs,Statement stmt, Connection conn){ if (rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt!=null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` # 配置文件 url=jdbc:mysql://localhost:3306/db4?useSSL=false&serverTimezone=UTC user=root password=nana980801 driver=com.mysql.cj.jdbc.Driver ``` ```
c语言单链表每次进行查找操作和排序操作的时候程序就闪退
刚学单链表,但是程序每到进行查找操作和排序操作,程序就闪退 编译的时候也没有报错,深夜求助,下面是测试程序的一些片段,单链表初始化和其他操作如插入、删除、输出等都没什么问题,就是一到下面两种操作就闪退了,两个操作函数都是void型的 ``` Linklist L; ElemType *e; case 9:printf("请输入元素的位置\n");scanf("%d",&flag);GetElem(L,flag,e);break;//找到flag位置的数据并print出来 case 14:LinkSort(&L);break;//对单链表中的数据排序 ``` 下面是查找操作的函数 ``` void GetElem(Linklist L,int i,Elemtype *e) { if (L==NULL) { printf("单链表不存在\n"); } else { if (L->next==NULL) { printf("单链表为空\n"); }//前提判断 else{ int length; length=ListLength(L); if (i>length||i<0) { printf("输入错误\n"); }//判断输入合法性 else { int j=0; for (j = 0; j < i; j++) { (*e)=(L->next)->data; L=L->next; }//循环i次,将L->next指向第i个节点,并传值给*e printf("第%d个位置的数据为%d\n",i,*e); } } } } ``` 下面是排序操作的函数,排序操作的我的思想是,创建一个新单链表,然后将传入的单链表的每个节点的数据先与新单链表中的数据进行比较,从小到大确定位置,然后再用插入操作,将每个数据插入新的单链表中 ``` void LinkSort(Linklist *L) { if ((*L)==NULL) { printf("单链表不存在\n"); } else { int l=ListLength(*L); if (l<2) { printf("单链表中至少要有两个元素才能进行排序\n"); } else { int i; Linklist p=(*L)->next; Linklist q,s; q=(Linklist)malloc(sizeof(LNode)); q->next=NULL; s=(Linklist)malloc(sizeof(LNode)); s->data=p->data; s->next=NULL; q->next=s;//先将传入单链表的第一个节点的数据添加到新单链表中去 Linklist r=q->next; p=p->next; while(p->next!=NULL) { i=1;//i是用来确定后续插入位置的 while((p->data)>(r->data)&&r->next!=NULL) { i++; r=r->next; } if ((p->data)>(r->data)) { i++; ListInsert(&q,i,p->data); } else ListInsert(&q,i,p->data); p=p->next; r=q->next; } i=1; while((p->data)>(r->data)&&r->next!=NULL) { i++; r=r->next; } if ((p->data)>(r->data)) { i++; ListInsert(&q,i,p->data); } else ListInsert(&q,i,p->data); *L=q; printf("排序完成\n"); } } } ``` 再附上插入操作函数 ``` void ListInsert(Linklist *L,int i,Elemtype e) { if (*L==NULL) { printf("单链表不存在\n"); } else { int length=ListLength(*L); if (i<1||i>length+1) { printf("输入错误\n"); }//判断输入的合法性 else { Linklist p=*L; int j=0; for (j = 0; j <i-1 ; j++) { p=p->next; }//通过循环使p指向所要插入节点位置的前一个节点 Linklist *r; (*r)=(Linklist)malloc(sizeof(LNode)); (*r)->data=e; (*r)->next=p->next; p->next=*r;//将新建立的节点插入 printf("插入成功\n"); } } } ``` 这是操作情景,直接退回桌面了 呜呜呜 ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571593640_443751.png)
新手求教,为什么我的jsp连接mysql,跳出的网页上什么都没有,
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import = "java.sql.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/test"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "2443243838"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 判断 数据库连接是否为空 if(conn != null){ // 输出连接信息 out.println("数据库连接成功!"); // 关闭数据库连接 conn.close(); }else{ // 输出连接信息 out.println("数据库连接失败!"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } %> </body> </html>
客户端第二次输入用户名时,会提示主线程由于软件引起连接中断异常,求大神分析原因!
/* 需求: 在客户端,输入用户名,如果该用户名在系统数据库存在,则提示欢迎登陆,如果不存在,则提示用户不存在,每个IP限制登陆三次 */ import java.io.*; import java.net.*; class LoginClient { public static void main(String[] args)throws Exception { Socket s=new Socket("192.168.100.100",10001); //创建客户端源为控制台的读入流 while(true){ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //创建打印流,将控制台读入的数据打印到网络输出流 PrintWriter pw=new PrintWriter(s.getOutputStream(),true); //创建带缓冲器的网络输入流,用来读取服务端反馈的数据 BufferedReader bufin=new BufferedReader(new InputStreamReader(s.getInputStream())); String line=br.readLine(); if(line==null) break; if("over".equals(line)) break; pw.println(line); //将服务器端反馈的信息输出在控制台上 String info=bufin.readLine(); System.out.println(info); /*if(info.contains("欢迎")){ return; } */ //br.close(); } s.close(); } } class LoginServer { public static void main(String[] args)throws Exception { //创建服务器端Socket服务 ServerSocket ss=new ServerSocket(10001); while(true){ //当服务器端接收到一个客户端对象时,则开启一个子线程,处理客户端请求 Socket s=ss.accept(); new Thread(new LoginUser(s)).start(); } } } class LoginUser implements Runnable { private Socket s; LoginUser(Socket s){ this.s=s; } public void run(){ String ip=s.getInetAddress().getHostAddress(); System.out.println(ip+":connected"); try{ for(int x=0;x<3;x++){ //创建服务端读取流缓冲器,关联网络输入流,来读取客户端输入的数据 BufferedReader brIn=new BufferedReader(new InputStreamReader(s.getInputStream())); //创建服务器端读取流缓冲器,关联文件读取流,来读取指定文件数据 BufferedReader br=new BufferedReader(new FileReader("D:\\Mysql.txt")); //创建打印流,关联客户端网络输出流,来将反馈信息打印到网络输出流传递给客户端 PrintWriter pw=new PrintWriter(s.getOutputStream(),true); String name=brIn.readLine(); String line=null; //添加标记 boolean flag=false; //判断客户端输入的用户名称,在服务器端数据库是否存在 while((line=br.readLine())!=null){ if(name.equals(line)){ flag=true; break; } } if(flag==true){ System.out.println(name+"已登陆"); pw.println(name+":欢迎登陆"); break; } else{ System.out.println(name+":尝试登陆"); pw.println(name+"用户不存在"); break; } } s.close(); } catch(Exception e){ throw new RuntimeException("用户校验失败"); } } }
PHP操作数据库增,删,改,查的问题
最近想做一个微信公众号玩玩,然后遇到一个问题,想了半天没有头绪,想来看看,问题如下: 我把数据库的连接和简单的增,删,改,查都写入在了mysqltest.php中,然后在index.php中导入调用这些方法。然而运行项目后数据库的数据没有任何改变,sql语句执行失败,但是我写的测试方法是可以向数据库中添加修改数据的。有没有大神来帮忙看看问题的所在,谢谢了。附上代码 这是mysqltest.php中的代码(登陆数据库的用户名和密码我用*代替了) ```<?php $con=mysql_connect("rds9b8s9gl540sop5dh7.mysql.rds.aliyuncs.com:3306", "mm********", "mm********"); if (!$con){ echo "shibai"; }else{ echo "success!"; } mysql_select_db("ryj41g99c0",$con); //查询数据 function _select_date($q,$con){ return $result=mysql_query($q) or die("no date"); } //修改数据 function _update_date($q,$con){ $result=mysql_query($q,$con); $a=mysql_affected_rows($con); if($a>0){ return 0; }else{ return 1; } } //删除数据 function _delete_date($q,$con){ $result=mysql_query($q,$con); $a=mysql_affected_rows($con); if($a>0){ return 0; }else{ return 1; } } //添加数据 function _insert_date($q,$con){ $result=mysql_query($q,$con); $a=mysql_affected_rows($con); if($a>0){ return 0; }else{ return 1; } } ?> ``` 这是index.php的代码 <?php require_once("mysqltest.php"); header('Content-type:text'); //require_once("xiaoxi/weather.php"); define("TOKEN", "aaa"); $wechatObj = new wechatCallbackapiTest(); if (isset($_GET['echostr'])) { $wechatObj->valid(); }else{ $wechatObj->responseMsg(); } class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ header('content-type:text'); echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $msgType = "text"; if(!empty($keyword)){ $sql = "SELECT flag_id FROM user_flags WHERE from_user = 'mei' LIMIT 0,1"; $result=_select_date($sql,$con); while($rows=mysql_fetch_array($result)){ $user_flag = $rows[flag_id]; } //如果用户输入“帮助”,则输出欢迎语,删除用户状态并直接退出 if($keyword == "帮助" || $keyword == "菜单" || $keyword == "功能" || $keyword == "导航" || $keyword == "提示") { $contentStr = "感谢您关注【有卡余额不足】\n请回复序号:\n1. 天气查询\n2. 翻译查询\n输入【帮助】查看提示\n更多内容,敬请期待..."; echo $this->handtext($postObj,$contentStr); $a= "DELETE FROM user_flags WHERE from_user = '$fromUsername'"; _delete_date($a,$con); exit(); } //如果用户输入的内容和数据库中存储的不一样,并且又数字选项,则删除数据库中的内容,并把user_flag的值重置为空 if(($keyword <> trim($user_flag)) && is_numeric($keyword)){ $user_flag=""; $b = "DELETE FROM user_flags WHERE from_user = '$fromUsername'"; _delete_date($b,$con); //exit(); } if (empty($user_flag)) { switch ($keyword) { case 1: //查询天气 $c= "insert into user_flags(from_user,flag_id) values('$fromUsername',1)"; $contentStr = "请输入要查询天气的城市:如北京、上海、深圳"; break; case 2: //翻译 $c = "insert into user_flags(from_user,flag_id) values('$fromUsername',2)"; $contentStr = "请输入要翻译的内容:如:早上好、good morning、おはよう"; break; default: //其他 $c = ""; $contentStr = "感谢您关注【有卡余额不足】\n请回复序号:\n1. 天气查询\n2. 翻译查询\n输入【帮助】查看提示\n更多内容,敬请期待...123"; break; } //判断并执行上面的插入语句 if (!empty($c)) { _insert_date($c,$con); } //用户状态不为空 }else{ if ($user_flag == 1) { $contentStr ="查询天气"; //_weather($keyword); //查询天气 }elseif ($user_flag == 2) { $contentStr = "翻译"; //_baiduDic($keyword); //翻译 } } $resultStr=$this->handtext($postObj, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else{ echo ""; exit; } } function handtext($postObj,$contentStr){ $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>%d</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $postObj->FromUserName, $postObj->ToUserName, time(), $contentStr, $flag); return $resultStr; } } ?> ``` 下面是我测试的时候写的代码 <?php require_once("mysqltest.php"); $fromUsername="man"; $a="DELETE FROM user_flags WHERE from_user = '$fromUsername'"; _detele_date($a,$con); ?> ``` ```
php 语法问题 实现两个关联数组的key值得比较
在下原来是做c++的,最近公司需要,做了一个php的web网站程序,用的php+mysql+jQuery+css。 现在我需要实现一个功能就是在一篇文章的最后显示与这片文章标题类似的文章的推荐,并附带链接。 我现在怀疑是不是语法的问题造成的,请帮我看看,谢谢 我的代码如下: ``` <?php /* * 示例代码: * 功能:完成相似关键词的查找 */ $demo_title = $con ['info_title']; //echo $demo_title; $result = mysql_query("SELECT * FROM 表名 where cate_id='12' or cate_id='13'"); $new_array =array(); $count = mysql_num_rows($result);//结果条数 while($row = mysql_fetch_array($result)) { if($row['info_status']==0) { //echo $row['info_title']; $temp = $row['info_id']; //echo $temp; $new_array[$temp]=$row['info_title'];//数组赋值 //echo $new_array[$temp]; //echo ('<br/>'); } //$demo_titile = $row['info_title']; } $resarray = getSimilars($demo_title, $new_array); foreach ($resarray as $v) {//对结果列表进行html输出 echo('<a href="/index.php?tpl=content&id='.$v['info_id'].'">'.$v['info_title'].'</a>'); echo("<br />"); } /* * @param $title 被比较的字符串 * @param $arr_title 待比较的字符串数组,该数组为关联数组 * */ function getSimilars($title, $arr_title) { $num = 0; $ret_array = array(); foreach ($arr_title as $key=>$value) { //echo $title;echo ' ';echo $key; //echo '<br />'; $percent = similar_text($value, $title);//相似百分比,整数形式 //echo $percent;echo ('<br/>'); $temp_array[$key] = $percent;//构建新数组 //echo $temp_array[$key]; echo '<br />'; } //对$temp_array数组进行排序; arsort($temp_array); //echo $temp_array[$key]; echo '<br />'; //根据temp_array的$key值进行查找并创建新数组 $times = 0; foreach($temp_array as $key=>$value) {//似乎该循环只走了第一遍,后面就不走了? if($times<6) {//目前只推荐6条 //echo $key;echo " ";echo $value;echo '<br />'; $search = true; if($search == true) foreach($arr_title as $tempkey => $tempvalue) { echo $key;echo " ";echo $tempkey;echo '<br />'; if($key==$arr_title){//似乎这个if判断没有起到任何作用 echo "找到目标:";echo $key;echo " ";echo $tempkey;echo '<br />'; //echo $tempkey;echo " ";echo $tempvalue;echo '<br />'; $temp=$tempvalue; $ret_array[$key]=$temp;//构建新数组 echo "插入目标:";echo $ret_array[key];echo " ";echo '<br />'; //next($temp_array);//指针下移 $times ++; $search = false; } } reset($arr_title); } } foreach(Sret_array as $key => $value) { //echo $key;echo " ";echo $value; echo "<br />"; } return $ret_array; } // $title当前标题,$arrayTitle为需要查找的数组 function getSimilar($title, $arr_title) { $arr_len = count ( $arr_title ); for($i = 0; $i <= ($arr_len - 1); $i ++) { // 取得两个字符串相似的字节数 $arr_similar [$i] = similar_text ( $arr_title [$i], $title ); } arsort ( $arr_similar ); // 按照相似的字节数由高到低排序 reset ( $arr_similar ); // 将指针移到数组的第一单元 $index = 0; foreach ( $arr_similar as $old_index => $similar ) { $new_title_array [$index] = $arr_title [$old_index]; $index ++; } return $new_title_array; } ?> ``` 另外,我的eclipse单步调试不了,总是还没进到我要调试的代码就开始报 XDEBUG_SESSION_STOP_NO_EXEC=ECLIPSE_DBGP&KEY=14229459395503 错误,是不是我配置的问题?请帮我看下
Javaweb初级问题:前台数据提交到后台数据库
一个Javabean,一个index界面,一个addbook界面,为啥数据提交不了呢? package com.lyq.bean; public class Book { // 编号 private int id; // 图书名称 private String name; // 价格 private double price; // 数量 private int bookCount; // 作者 private String author; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getBookCount() { return bookCount; } public void setBookCount(int bookCount) { this.bookCount = bookCount; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } } ************************************************************************************** <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添加图书信息</title> <script type="text/javascript"> function check(form){ with(form){ if(name.value == ""){ alert("图书名称不能为空"); return false; } if(price.value == ""){ alert("价格不能为空"); return false; } if(author.value == ""){ alert("作者不能为空"); return false; } return true; } } </script> </head> <body> <form action="AddBook.jsp" method="post" onsubmit="return check(this);"> <table align="center" width="450"> <tr> <td align="center" colspan="2"> <h2>添加图书信息</h2> <hr> </td> </tr> <tr> <td align="right">图书名称:</td> <td><input type="text" name="name" /></td> </tr> <tr> <td align="right">价  格:</td> <td><input type="text" name="price" /></td> </tr> <tr> <td align="right">数  量:</td> <td><input type="text" name="bookCount" /></td> </tr> <tr> <td align="right">作  者:</td> <td><input type="text" name="author" /></td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="添 加"> </td> </tr> </table> </form> </body> </html> ************************************************************************************* <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="java.sql.Connection"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.PreparedStatement"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添加结果</title> </head> <body> <jsp:useBean id="book" class="com.lyq.bean.Book"></jsp:useBean> <jsp:setProperty property="*" name="book"/> <% try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/db_database10"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "123"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 添加图书信息的SQL语句 String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)"; // 获取PreparedStatement PreparedStatement ps = conn.prepareStatement(sql); // 对SQL语句中的第1个参数赋值 ps.setString(1, book.getName()); System.out.println("name:"+book.getName()); // 对SQL语句中的第2个参数赋值 ps.setDouble(2, book.getPrice()); // 对SQL语句中的第3个参数赋值 ps.setInt(3,book.getBookCount()); // 对SQL语句中的第4个参数赋值 ps.setString(4, book.getAuthor()); // 执行更新操作,返回所影响的行数 int row = ps.executeUpdate(); // 判断是否更新成功 if(row > 0){ // 更新成输出信息 out.print("成功添加了 " + row + "条数据!"); } // 关闭PreparedStatement,释放资源 ps.close(); // 关闭Connection,释放资源 conn.close(); } catch (Exception e) { out.print("图书信息添加失败!"); e.printStackTrace(); } %> <br> <a href="index.jsp">返回</a> </body> </html>
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
小白学 Python 爬虫(25):爬取股票信息
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
世界上最牛的网络设备,价格低廉,其貌不扬......
夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机!没错,这就是我,...
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
2020年刚刚开始,就意味着离职潮高峰的到来,我身边就有不少人拿着年终奖离职了,而最让我感到意外的,是一位工作十年的数据分析师也离职了,不同于别人的主动辞职,他是被公司炒掉的。 很多人都说数据分析是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我: 数据分析师也有中年危机吗?跟程序员一样是吃青春饭的吗?该怎么保证自己不被公司淘汰...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
立即提问