【发布时间】:2020-06-19 10:37:47
【问题描述】:
我用于查询的变量打印正确,所以它就在那里。
<?php
print $product_main["ean"];
//The variable is there, since it prints
?>
如果我执行这个查询,它会起作用
$query = ("SELECT * FROM graph ;") or die(mysql_error());
但不是我使用变量的那个
$query = ("SELECT * FROM graph WHERE ean IN ".$product_main["ean"]." group by DAY(created_at);") or die(mysql_error());
不起作用。 我相信问题在于我如何将数组变量包含到查询中
".$product_main["ean"]."
如何做到这一点?
【问题讨论】:
-
这样使用
$query = ("SELECT * FROM graph WHERE ean IN ('".$product_main["ean"]."') group by DAY(created_at);") -
为什么你刚刚创建字符串后有
or die()? -
另外,您应该停止使用旧的、不安全的、已弃用/删除的
mysql_*-extension。它在 PHP 5.5 中已被弃用,并在 PHP 7 中完全删除 -
您对 SQL 注入持开放态度。您应该升级驱动程序并使用参数化查询。如果
$product_main["ean"]是一个数组,你不能只是连接它。另外,SQL 中的in使用()进行封装。 -
应该是
=而不是IN