草庐IT

if-else-statement

全部标签

php - 了解 PDO/Prepared Statements 如何与多种数据库类型一起工作

我最近才开始使用PDO和PreparedStatements并了解它们如何正常工作,但是我现在想要支持多个数据库并且有几个关于如何工作的问题他们工作。据我了解,如果您在PHP中使用PDO,那么它将开箱即用地支持许多不同的数据库类型;但是我想了解这是如何工作的。例如,如果我这样做:$data=array('name'=>'Cathy','addr'=>'123fakest','city'=>'fakesville');$sql=$db->("INSERTINTOfolks(name,addr,city)value(:name,:addr,:city)");$sql->execute($d

mysql - 将 User-Agent 字符串的哈希存储在 MySQL 表中 : insert if not exists, 返回 id

受stackoverflow上以下两个答案的启发,我尝试实现一个表,目标是在其中存储User-Agent字符串:https://stackoverflow.com/a/13210391https://stackoverflow.com/a/3554596/1103527这是我的表结构:CREATETABLEIFNOTEXISTSua_strings(ua_idINTEGERPRIMARYKEYAUTO_INCREMENT,ua_hashBINARY(16),uaTEXT,UNIQUEKEYua_hash(ua_hash));我想实现以下目标:输入:User-Agent字符串,只有当它不

php - if else语句与mysql表? - PHP

我需要做一个ifelse语句来阻止用户出价最高的项目。我认为它会像这样。if($accountid=theaccountidinthebidhistorytable){echo"Youarethehighestbidder!";}else{$sql="INSERTINTObidhistory(accountid,biditemid)VALUES($accountid,$itemid)";mysql_query("UPDATEbidhistorySETbidprice=bidprice+1WHEREbiditemid=".@mysql_escape_string($itemid));$r

php - 你能在MYSQL语句中做if/else逻辑吗?

我的数据库中有足球运动员。他们每个人都有一个排名(1是最好的),我在MYSQL查询中即时计算他们的年龄。该查询使用他们的排名加上他们的年龄进行ORDERBY。所以我首先有这个...$rankquerytext="ranking+age";然后我有查询...$sql="SELECT*,FLOOR(DATEDIFF(CURDATE(),born)/365.25)ASageFROMplayersORDERBY".$rankquerytext."";这很好用。但是,我想更具体一点,而不是仅仅将他们的年龄添加到他们的排名中。例如,我更愿意以某种方式在MySQL查询中或就在它之前执行if/else

php - If 语句的正确公式

我在这里查看了if语句。我发现了一些东西,但我在找出正确的语句公式时遇到了问题。我在数据库中有2个表,其中包含以下2个字段table1rct_app_idtable2uid现在如果uid字段与我希望的rct_app_id字段匹配echo"GreenLight";如果他们不匹配echo"NoGo"这是我的公式functionquery($query){global$connection;returnmysqli_query($connection,$query);} 最佳答案 试试这个。但请记住,人们很难通过点点滴滴弄清楚发生了什么,

MySQL LEFT JOIN 与 IF

我有这个问题:SELECTr.*,d.rateNameFROMratingsrLEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')ORDERBYr.rateTimeDESC这个工作正常。现在我有了第二个数据表。在一个查询中使用IF进行更改,还是进行两个查询并合并结果的唯一方法?我试着向你展示我的意思:SELECTr.*,d.rateNameFROMratingsr(IFr.isOther==0)LEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')(ELSEIFr.is

PHP-PDO : MySQL's logged prepared statements include PS data

我通过PDO在PHP中使用MySQL预处理语句来分离查询和数据,例如:CALL`celestial_object_view`(?,?)但是MySQL日志显示CALL`celestial_object_view`('1','1')因此,我猜想数据在发送到MySQL之前实际上已合并到查询中?对于短数据来说这不是问题,但是当插入10Mo的Blob数据时,MySQL服务器会尖叫超过max_allowed_pa​​cket。我如何让PDO/PHP/MySQL将数据与PS分开考虑,以便我可以执行包含大量数据的短PS,而不会达到max_allowed_pa​​cket?

php - Laravel DB::statement CREATE DATABASE 无法添加参数(准备语句?)

我正在使用Laravel5.3PHP框架,我需要有关如何使用DB::statement方法创建数据库的额外指导,我可以像这样简单地做,但我知道SQL注入(inject)的可能性:DB::statement('CREATEDATABASEnew_database_name');但是我想做这样的事情:DB::statement('CREATEDATABASE:db_name',['db_name'=>'new_database_name']);我不确定为什么第二个示例不起作用。我一直在阅读laravel文档,这种事情适用于DB::insert、DB::select,但是DB::statem

MYSQL select count(*) in an table if id exists in another table

这应该很简单,但我一直坚持下去,在这里找不到答案。我想计算一个表中与给定user_id匹配的记录数,如果该user_id存在于另一个表中,否则返回-1。类似于:SELECTCOUNT(*)FROMtable_1WHEREuser_id=(IFEXISTStable_2.user_id='22'),ELSE-1;总而言之,如果table_2包含一个user_id为22,则返回table_1中带有user_id为22,否则返回-1。请问我该怎么做?(注意。澄清一下,user_id不是两个表中的主键)编辑:添加表格示例:table_1---------------------user_id|

MySQL SUM IF 列具有特定值

有没有办法只在满足特定条件时才对行求和?如果不满足,则必须将它们复制到新表中。例如,如果我有这张表|id|A|B|--------------|1|a|2||1|b|4||1|c|1||2|a|4||3|a|1||3|b|5|我想要这样的输出|id|A|B|--------------|1|a,b|6||1|c|1||2|a|4||3|a,b|6|它只会在“A”列是“a”或“b”时求和,如果它是“c”,它只会复制值 最佳答案 您可以在两个不同的Select查询中执行此操作。在第一个Select查询中,只考虑A具有值“a”或“b”的情