草庐IT

name-binding

全部标签

mysql - 使用名为 "name"的列进行查询

我正在尝试连接几个表,但它在我的连接语句上失败了。我相信这是因为第二个连接中的列名是“名称”,也许MySQL认为我正在尝试访问一个属性?我该如何解决这个问题?SELECTsurgery_city.*,s.surgeon_type,st.abbrevFROMsurgery_cityLEFTJOINsurgery_keyassONs.surg_id=treatment_idLEFTJOINstatesasstONst.name=surgery_city.stateWHEREtreatment_id='10001'问题是我引用st.name的第二个左连接-关于如何正确引用该列的任何想法?不幸

即使在启用 skip-name-resolve 后,MySQL 远程连接也很慢

我设置了一个可以远程访问共享开发数据库的开发环境。我的远程MySQL服务器的响应时间非常慢。我添加了skip-name-resolve到my.cnf文件,重新启动mysqld,并验证它确实是,通过mysql命令行中的“显示变量”打开。有趣的是,如果我通过远程连接到命令行界面mysql-hIPADDRESS-uUSERNAME-p所有命令都以闪电般的速度执行。在大表上选择*会立即通过管道。我想知道为什么CLI允许立即响应,但我的应用程序中的php连接在从远程MySQL服务器返回任何数据之前等待8-10秒。是AmazonEC2instance,又是Amazonlinuxami,好像和Cen

php - PDO 不能绑定(bind)两个属性

我正在尝试将搜索词和限制值绑定(bind)到PDO执行查询,但无论采用哪种方式,我都会收到错误消息publicstaticfunctionsearchUsersByName($searchTerm,$results=null){//getDBConnectionif($results==null){$results=5;}$searchTerm='%'.$searchTerm.'%';$query=$database->prepare("SELECTuser_id,user_firstname,user_lastnameFROMusers_detailsWHEREuser_firstn

mysql - SUM(column name) 给我的结果与在 SQL Server 中手动求和列名不同。为什么?

为什么SUM(Sold)给我的结果与手动对该字段求和不同?如果我手动对Sold字段求和,这是给我正确的查询:SELECTCustCode,FiscalYear,SoldFROMDBNAME.dbo.SALESDETAILWHERE(FiscalYear=YEAR({fnNOW()}))andCustCode='248'GROUPBYCustCode,FiscalYear,Sold但是如果我尝试使用SUM函数,我会得到错误的金额。谁能帮帮我?SELECTCustCode,FiscalYear,SUM(Sold)FROMDBNAME.dbo.SALESDETAILWHERE(FiscalY

php - 在 pdo 中绑定(bind)多个数组

有3种不同的过滤器:books、authors和stores(select列表),我可能一次将它们全部一起使用,或者只使用其中的一两个,所以我使用UNION将所有查询放在一起require('database.php');if(isset($_POST['books'])){$books_ids=$_POST["books"];}if(isset($_POST['authors'])){$authors_ids=$_POST["authors"];}if(isset($_POST['stores'])){$stores_ids=$_POST["stores"];}$query="";i

php - 为什么无论绑定(bind)参数变量中是否包含冒号,PDO 'execute' 都有效?

我正在开发一个使用PDO的应用程序。我注意到,当绑定(bind)参数时,无论我在绑定(bind)参数变量上使用还是省略冒号,查询仍然有效。例子:$sql="SELECT*FROM`".$this->table."`WHEREid=:idLIMIT1";$stmt=$this->ci->db->prepare($sql);$result=$stmt->execute(["id"=>$id,]);$result=$stmt->fetch(PDO::FETCH_ASSOC);给出完全相同的结果:$sql="SELECT*FROM`".$this->table."`WHEREid=:idLIM

mysql - 在 MySQL 中选择使用 `database_name` .`viewname` .* 语法会抛出 "Unknown table ' database_name.viewname'"

我在MySQL和数据库View方面遇到了一个奇怪的问题。我有一个这样定义的View:CREATEVIEWcircuitsAS(SELECTId,IdASOld_Id,NameFROMcircuits_1)UNION(SELECTId+1000ASId,IdASOld_Id,NameFROMcircuits_2)我必须将此View与另一个数据库中的表连接起来。为此,我通常在表名前加上它的数据库名,例如db_name.table_name。我已经使用ORM映射了这个View,指定了它的前缀,结果查询是这个:SELECT`webapp`.`circuits`.*FROM`webapp`.`c

mysql - Laravel 查询生成器联合 : Add 'table name' column

有3个不同的数据库表articles、reviews、posts,它们都有这些列:'id','title','user_id','created_at','body'.我正在使用Laravel5.6和yajra/laravel-datatables包,所以我需要“联合”这三个表并将其放入jQueryDataTables中。为此,我使用了Laravel的union查询生成器方法:$fields=['id','title','user_id','created_at','body'];$articles=DB::table('articles')->select($fields);$rev

mysql - 无法在 MySQL 8.0 的 my.cnf 中找到绑定(bind)地址

我已经在GoogleComputeEngine实例上安装了MySQL8.0。我想关注thisdocument从外部授予远程访问权限。但是,从/etc/mysql/打开my.conf后,文件中没有关于bind-address的行!includedir/etc/mysql/conf.d/!includedir/etc/mysql/mysql.conf.d/如何找到要修改的绑定(bind)地址?谢谢! 最佳答案 看起来在其他指令中找到了附加配置:!includedir/etc/mysql/conf.d/!includedir/etc/my

php - 返回由 mysqli_stmt_bind_param 创建的语句

我正在使用mysqli_stmt_bind_param()创建一个INSERT语句。出于某种原因,我收到一个错误。我使用mysqli_error()来查看错误消息,但它并不是特别有用。有没有办法只查看实际正在执行的查询?产生的错误:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'desc,date,expdate,mintix,maxtix,contactname,contactemail,contactphone)