我正在尝试检查通过URL传递的字符串,并从该字符串匹配的MySQL数据库获取所有结果。
我根据输入发送不同的查询,但是有问题的查询基本上是这样的(实际上要长得多):
if ($projectsname) {$result = mysql_query("SELECT item FROM items WHERE projectname=$projectsname",$db)}
问题是$ projectsname是一个字符串。我所有其他查询都返回一个整数,并且工作正常。但是在这种情况下,除非在引号中加上引号,否则我无法在实际的PHP代码中得到正确的结果,这就是我的做法:
$projectsname = (isset($_GET['projectname']) && !empty($_GET['projectname'])) ? '"'. $_GET['projectname'] .'"' : 0;
...将引号附加到创建变量的数据上。那行得通。在我看来这是错误的。
有没有更好的方法进行比较?
(我希望我可以说这是一个新手问题,但这是我多年来尝试编码的设计师经常遇到的麻烦。)
如果您所掌握的术语比我在这里使用的术语更好,请随时编辑问题(让我知道您的编辑是什么,我很难对问题进行措辞。)
最佳答案
if ($projectsname) {$result = mysql_query("SELECT item FROM items WHERE projectname='$projectsname'",$db)}
您需要引用传递给mysql的字符串。