2
我有这样的脚本:添加%通配符来我的SQL查询导致语法错误
$sql4='SELECT prod_name,description,price,in_stock,plat_name,genre_name FROM product WHERE prod_name LIKE %:prodname%';
$query5=$db->prepare($sql4);
$query5->execute(array(':prodname'=> $_GET['product']));
$result2=$query5->fetch(PDO::FETCH_ASSOC);
而且它给我这个错误:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '%'some text'%'
我知道,那些百分号都是问题。如果我删除它们的代码工作得很好,但我怎么得到与这些迹象?我需要它们是因为我想选择包含给定字符串的所有记录。
我认为准备不正确的查询实际上是...... LIKE%'一些文本'%'。 '%'中的外部引号是'%'的一些文本是错误信息的一部分。 –
非常棒,你展示了正确与错误的最终SQL。在解决这种性质的问题时,重要的是要展示它试图执行的SQL所解决的问题,然后错误几乎总是显而易见的。 – HLGEM