【问题标题】:how to write custom query in cake php helper class如何在 cake php helper 类中编写自定义查询
【发布时间】:2015-09-27 16:55:07
【问题描述】:

我有一些常用Helper的功能,我想从mysql数据库中检索数据然后如何从helper类方法连接数据库,

我试过这个:

 $qryres=mysql_query("select * from hotels where status='1' order by order_id asc") or die(mysql_error());
echo $num_row=mysql_num_rows($qryres);

本文显示:Aucune base n'a été sélectionnée

【问题讨论】:

  • 嗨,欢迎来到 SO。为了保持质量,您能否通过在代码前面添加 4 个空格来格式化您的问题(并跳过一行)。见stackoverflow.com/editing-help
  • 为什么需要在 helper 中编写自定义查询。您也可以在控制器和模型上执行此操作。 helper 不是你写查询的地方
  • 请在此处提问之前进行一些研究并尝试。网上有很多教程一步一步解释你想要什么。看看prepared statement和PDO,这是使用sql数据库的好方法。 mysql_ 函数已弃用。
  • 应该没有理由从助手查询数据库。这不是蛋糕的方式。您应该在控制器中准备数据。如果您有需要由控制器共享的通用功能,则将其放入 AppController 或组件中。
  • @drmonkeyninja "在控制器中准备数据" 这是完全错误的。所有数据处理都应该发生在模型(或服务)层。见i.stack.imgur.com/UrtaH.png

标签: php cakephp helper


【解决方案1】:

惊人的几行代码可以做错多少:

  • mysql_* 函数是 deprecated 多年了,该页面上有一个很大的红色警告。
  • 您没有使用 CakePHP ORM
  • 访问视图层中的模型层违反了 MVC(意味着这是一件坏事,不好的做法会导致无法维护的混乱代码)

推荐:

  • 习惯于使用文档并开始阅读文档在编写任何代码之前
  • Read about MVC
  • Read the CakePHP manual从头开始,不要跳过本书的 1/2。尤其要注意MVC部分,做教程,至少掌握一些有关如何使用框架的基础知识。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多