微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP / MySQL-将字符串附加在一起以进行查询..?

如何解决PHP / MySQL-将字符串附加在一起以进行查询..?

| 有什么理由不应该这样做吗?
$events_query = \"SELECT eventID,event_name,event_type,event_address,event_duration,event_date,event_time,event_description,num_attending
                             FROM events WHERE event_city = \'$city\' \" .$type_query .$date_query .$time_query;  
$events_list = MysqL_query($events_query); 

/* Where $type_query and $date_query are things like:

$type_query = \"AND event_type = \'$type\' \"; 

*/ 
基本上上述代码没有给我预期的结果,所以我想知道我在PHP中执行方式是否存在问题。如果不是,那意味着我有一个逻辑问题,我更喜欢,因为我真的不知道该怎么做这些我想做的变量类型查询。基本上,我的查询会因用户输入的数据而异。 谢谢。     

解决方法

        尝试放入
echo $events_query;
代码中的语句,以查看生成的SQL是什么。以这种方式查看任何错误要容易得多。一般来说,是的,这是完全合法的,生成这样的SQL非常普遍。     ,        这种构造查询的方法没有本质上的错误。您将不得不解释结果与您的预期有何不同,我建议您回显/记录最终的$ events_query并将其与您的需求进行比较。     ,        字符串连接是构建SQL查询的合法方法,只要您遵守PHP的语法要求,就可以通过这种方式生成有效的SQL。 打印出生成的字符串(到日志文件或网页),并检查其是否与您认为的生成内容匹配。它可能带有引号或分号,会改变或过早终止查询。 将该字符串粘贴到MySQL的控制台中,看看它是否还有其他错误。 有关直接将用户输入直接接受到SQL查询中的通常警告适用。     ,        
 $events_query = \"SELECT eventID,event_name,event_type,event_address,event_duration,event_date,event_time,event_description,num_attending FROM events WHERE event_city =\'$city\' $type_query $date_query $time_query \";
回显此查询副本在phpmyadmin中运行,我们得到结果,然后可以修改查询。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。