【问题标题】:PHP syntax error in SELECT mySQL querySELECT mySQL 查询中的 PHP 语法错误
【发布时间】:2018-11-10 06:54:50
【问题描述】:

我正在尝试在 PHP 中执行这个 mySQL 查询。

$sql = "SELECT * FROM Property 
        WHERE CONCAT(name, '',
                     contact_number , '', 
                     hostel_address,'',
                     renter_name,'',
                     other_details,'',
                     date_posted,'') LIKE '%".$var."'
        ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y')";

我收到以下错误:

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 'ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y') ASC' 附近使用正确的语法

这里有任何帮助:(

【问题讨论】:

  • 认为'%".$var." ORDER 中缺少'
  • LIKE '%".$var." 替换为LIKE '%".$var."' ,将...date_posted,'' 替换为date_posted
  • 如果您使用准备好的语句,您首先不会遇到这种连接问题
  • @NigelRen 感谢您的建议,它仍然给出了大约。同样的错误。
  • @Ghost 你能详细说明一下吗?请问?

标签: php mysql select sql-order-by


【解决方案1】:

可以试试这个:

$sql = "SELECT * FROM Property WHERE CONCAT(name, '',contact_number , '', hostel_address,'',renter_name,'',other_details,'',date_posted,'') LIKE '%".$var."' ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y')";

注意在ORDER BY之前应该有一个单引号

【讨论】:

  • 是的。我已经纠正了。但它仍然给出了大约。同样的错误。
  • @Saleh_Ninja 能否请您粘贴新的错误消息以发表评论?
  • @Saleh_Ninja CONCAT(name, '',contact_number , '', hostel_address,'',renter_name,'',other_details,'',date_posted,'') AS ConcatenatedString ?试试看
  • @Grace 我已经编辑了带有新错误的问题。请再看看
  • @MasivuyeCokile 无效。
猜你喜欢
  • 2011-03-24
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多